R:详细决策树后记

Che*_*sea 1 tree r decision-tree

我正在为项目制定决策树.我正在使用R,但如果需要,我们可以使用SAS.书中有一张决策树的图片,我认为看起来很精彩(我觉得决策树很精彩): 详细决策树

是否有可能像R中那样做?我一直在使用post()函数,到目前为止我发现的所有pretty = 0东西都用来防止它缩写.我的每个圈子里只有XXXX/XXXX圈.

我查看了文档,但找不到任何可以使其更详细的内容.文档总是说"...后记函数的其他参数." 但实际上并没有列出其他参数.我不确定这个决策树是来自SAS,R还是其他一些rando语言.我们使用的书是用于决策的数据挖掘统计; 我不喜欢这本书.我大多找到外部资料来解释这些概念.这是我在本书中唯一无法自己解决的问题.

Len*_*ski 7

视觉上有吸引力的树形图的一个选项fancyRpartPlot()来自rattle包装.它并不完全复制SAS输出,但它比默认绘图更具视觉吸引力.

例如,我们将使用caretrattle在虹膜数据集上运行rpart模型:

library(caret)
library(rattle)
inTrain <- createDataPartition(y = iris$Species,
                               p = 0.7,
                               list = FALSE)
training <- iris[inTrain,]
testing <- iris[-inTrain,]
modFit <- train(Species ~ .,method = "rpart",data = training)
fancyRpartPlot(modFit$finalModel)
Run Code Online (Sandbox Code Playgroud)

......和输出:

在此输入图像描述

可以使用sub=" "参数to 删除图表下方的子标题fancyRpartPlot().

相反,使用以下代码生成默认图.

 # default plot
 plot(modFit$finalModel,uniform=TRUE, margin=.3)
 text(modFit$finalModel,use.n=TRUE,all=TRUE, cex=.9)
Run Code Online (Sandbox Code Playgroud)

......和输出:

在此输入图像描述

另一种方法是在对OP的评论中提到的rpart.plot包.它包括大量可配置选项.要打印计数和百分比,请使用extra=参数.

# use rpart.plot package
library(rpart.plot)
rpart.plot::rpart.plot(modFit$finalModel,extra=101)
Run Code Online (Sandbox Code Playgroud)

......和输出:

在此输入图像描述