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

Posted

技术标签:

【中文标题】在 R 中绘制决策树(插入符号)【英文标题】:Plot decision tree in R (Caret) 【发布时间】:2017-01-30 20:42:36 【问题描述】:

我已经使用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
              )

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

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

我想绘制决策树...

我该怎么做? 谢谢:)

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

非常感谢!!!我有一个问题。蓝线、绿线、黑线和红线是什么意思?我的意思是,它们之间有什么区别? 感谢您的提问。黑线代表整体 OOB 错误,而其他三条彩色线代表训练数据中 3 个类中的每一个的 OOB 错误(我使用具有 3 个不同类标签的训练数据)。

以上是关于在 R 中绘制决策树(插入符号)的主要内容,如果未能解决你的问题,请参考以下文章

插入符号 rpart 决策树绘图结果

如何在 R 中绘制探索性决策树

ctree 在 R 中的派对包中绘制决策树,终端节点出现一些奇怪的数字 - 问题?

将随机森林变成决策树 - 在 R 中使用 randomForest 包

绘制党派决策树

如何在 r studio 中缩小决策树图?