在R(Caret)中绘制决策树

时间:2016-09-22 10:09:20

标签: r machine-learning plot decision-tree r-caret

我使用rf方法训练了一个数据集。例如:

ctrl <- trainControl(
                     method = "LGOCV", 
                     repeats = 3, 
                     savePred=TRUE,
                     verboseIter = TRUE,
                     preProcOptions = list(thresh = 0.95)
                    )

preProcessInTrain<-c("center", "scale")
metric_used<-"Accuracy"
model <- train(
               Output ~ ., data = training,
               method = "rf",
               trControl = ctrl,
               metric=metric_used,
               tuneLength = 10,
               preProc = preProcessInTrain
              )

在那之后,我想绘制一个decission树,但是当我plot(model)时,我得到了这个:plot(model)

如果我写plot(model$finalModel),我会得到:plot(model$finalModel)

我想绘制一个decission树......

我该怎么做? 谢谢:))

1 个答案:

答案 0 :(得分:3)

您使用的模型是随机森林,它不是单个决策树,而是大量树木的集合。绘制最终模型将绘制训练和测试数据集的错误率,因为树木的数量会增加,如下所示。

enter image description here

如果您想要一个决策树,您可能希望训练如下的CART模型:

model <- train(
  Species ~ ., data = training,
  method = "rpart",
  trControl = ctrl,
  metric=metric_used,
  tuneLength = 10,
  preProc = preProcessInTrain
)
library(rpart.plot)
rpart.plot(model$finalModel)

现在绘制上面的最终模型将为您绘制决策树。