J'utilise le package caret pour modéliser les données à l'aide du package rpart.
library('caret')
data(iris)
formula <- as.formula(Species ~.)
t <- train(formula,iris,method = "rpart",cp=0.002,maxdepth=8)
plot(t)
En conséquence, j'obtiens l'objet "t" et j'essaie de tracer cet objet pour obtenir un arbre. Mais le résultat ressemble à ça:
Existe-t-il un moyen de créer un arbre à partir d'un objet de train de correspondance?
L'objet renvoyé par caret::train()
est une liste. L'élément finalModel
contient votre modèle.
Essaye ça:
plot(t$finalModel)
text(t$finalModel)
plus belle arborescence:
library(rattle)
fancyRpartPlot(t$finalModel)
J'ai eu le même problème, mais les réponses données ici ne le résoudraient pas, puisque j'ai utilisé une forêt aléatoire au lieu d'un arbre, ce qui suit est pour tous ceux qui viennent ici avec le même problème:
En bref: Un arbre ne peut être affiché que lorsque la méthode est quelque chose comme:
method = "rpart"
Utilisation d'une forêt aléatoire
method = "rf"
Réponse étendue déjà ici: Arbre de décision du tracé dans R (curseur)