在 R 中绘制决策树(插入符号)

Alo*_*ojo 5 plot r machine-learning 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
              )
Run Code Online (Sandbox Code Playgroud)

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

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

我想绘制决策树...

我怎样才能做到这一点?谢谢 :)

San*_*Dey 6

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

在此处输入图片说明

如果你想要一个单一的决策树,你可能想训练一个 CART 模型,如下所示:

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

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

  • 谢谢你的提问。黑线代表整体 OOB 错误,而其他三条彩色线代表训练数据中 3 个类别中每一个类别的 OOB 错误(我使用了具有 3 个不同类别标签的训练数据)。 (2认同)