¿Cómo hacer una parcela de árbol en el paquete CARET?
Pregunta
Estoy usando el paquete CARET para modelar los datos utilizando el paquete RPART.
library('caret')
data(iris)
formula <- as.formula(Species ~.)
t <- train(formula,iris,method = "rpart",cp=0.002,maxdepth=8)
plot(t)
Como resultado, obtengo el objeto 't' y estoy tratando de trazar este objeto para obtener una parcela de árbol.Pero el resultado se ve como ese:
¿Hay alguna forma de hacer una parcela de árbol del objeto del tren de CARET?
Solución
El objeto devuelto de caret::train()
es una lista.El elemento finalModel
contiene su modelo.
Intenta esto:
plot(t$finalModel)
text(t$finalModel)
Otros consejos
TreePlot de aspecto mejor:
library(rattle)
fancyRpartPlot(t$finalModel)
tuvo el mismo problema, pero las respuestas dadas aquí no lo resolverían, ya que usé un bosque aleatorio en lugar de un árbol, lo siguiente es que todos vinieran aquí con el mismo problema:
En resumen: solo se puede mostrar un árbol cuando el método es algo así:
method = "rpart"
utilizando un bosque aleatorio
method = "rf"
dará como resultado la siguiente parcela:
Respuesta extendida ya aquí: Árbol de decisión de la trama en R (CARET)