Je souhaite ajouter un dégradé de couleurs suivant les valeurs ajustées (par exemple, des valeurs ajustées plus élevées, des couleurs plus foncées, des couleurs plus claires) dans mes diagrammes de dépendance tridimensionnels.BRT: Ajouter des couleurs de dégradé aux tracés d'interaction en utilisant gbm.perspec
J'ai utilisé l'exemple présenté dans Dismo package:
library(dismo)
data(Anguilla_train)
angaus.tc5.lr01 <- gbm.step(data=Anguilla_train, gbm.x = 3:13, gbm.y = 2,
family = "bernoulli", tree.complexity = 5, learning.rate = 0.01,
bag.fraction = 0.5)
# Find interactions in the gbm model:
find.int <- gbm.interactions(angaus.tc5.lr01)
find.int$interactions
find.int$rank.list
J'ai seulement réussi à ajouter de la même couleur à la parcelle:
gbm.perspec(angaus.tc5.lr01, 7, 1,
x.label = "USRainDays",
y.label = "SegSumT",
z.label = "Fitted values",
z.range=c(0,0.435),
col="blue")
ou pour ajouter une couleur de dégradé mais ne suivant pas les valeurs ajustées:
gbm.perspec(angaus.tc5.lr01, 7, 1,
x.label = "USRainDays",
y.label = "SegSumT",
z.label = "Fitted values",
col=heat.colors(50),
z.range=c(0,0.435))
J'ai aussi vérifié le code de la fonction gbm.perspec, et si je comprends bien les valeurs ajustées sont appel dans la formule comme « prédiction », et plus tard font partie de la « pred.matrix » cela est passé au tracé final: persp (x = x.var, y = y.var, z = pred.matrix ...), mais je n'ai pas réussi à y accéder à partir de la formule de gbm.perspec. J'ai essayé de modifier la fonction gbm.perpec en ajoutant "col = heat.colors (100) [round (pred.matrix * 100, 0)]" dans le persp() dans la fonction, mais il ne fait pas ce que je suis recherche:
persp(x = x.var, y = y.var, z = pred.matrix, zlim = z.range,
xlab = x.label, ylab = y.label, zlab = z.label,
theta = theta, phi = phi, r = sqrt(10), d = 3,
ticktype = ticktype,
col=heat.colors(100)[round(pred.matrix*100, 0)],
mgp = c(4, 1, 0), ...)
Je crois que la solution pourrait venir de modifier la fonction gbm.perpec, ne savez-vous comment?
Nous vous remercions de votre temps!