在 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 中绘制决策树(插入符号)的主要内容,如果未能解决你的问题,请参考以下文章
ctree 在 R 中的派对包中绘制决策树,终端节点出现一些奇怪的数字 - 问题?