【问题标题】:How to make a tree plot in caret package?如何在插入符号包中制作树图?
【发布时间】:2014-07-24 02:43:24
【问题描述】:

我正在使用 caret 包通过 rpart 包对数据进行建模。

library('caret')
data(iris)
formula <- as.formula(Species ~.)
t <- train(formula,iris,method = "rpart",cp=0.002,maxdepth=8)
plot(t)

结果我得到了对象't',我试图绘制这个对象来获得树状图。但结果看起来像这样:

有没有办法从插入符号火车对象制作树状图?

【问题讨论】:

  • 如果您的树状图很简单,另一个选项可能是使用“树状图”可视化。与树状图不同,但可能是另一种可视化模型的有趣方式。请参阅 ggplot 中的 treemapify

标签: r plot rpart r-caret


【解决方案1】:

更好看的树形图:

library(rattle)
fancyRpartPlot(t$finalModel)

【讨论】:

  • 如何控制要绘制的深度?
【解决方案2】:

caret::train() 返回的对象是一个列表。元素 finalModel 包含您的模型。

试试这个:

plot(t$finalModel)
text(t$finalModel)

【讨论】:

    【解决方案3】:

    有同样的问题,但这里给出的答案并不能解决它,因为我使用的是随机森林而不是树,以下是所有来到这里遇到同样问题的人:

    简而言之:只有当方法类似于以下时才能显示树:

    method = "rpart"
    

    使用随机森林

    method = "rf"
    

    将产生以下情节:

    扩展答案已经在这里: Plot decision tree in R (Caret)

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 2018-06-24
      • 2015-11-13
      • 1970-01-01
      • 2020-04-26
      • 2013-05-21
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      相关资源
      最近更新 更多