绘制方决策树

Plot party decision tree

我有下面的图,你可以在图片中看到,有什么办法可以看到叶节点中的确切百分比数吗?

如果你想 "see" 百分比,最简单的方法是对终端节点与响应进行 table() 对比,然后查看按条件比例。

如果你想 "see" barplot 中的比例,那么到目前为止还不可能这样做。但是,我调整了 node_barplot() 函数以适应此功能。因此,如果您从 R-Forge 重新安装 partykit 软件包(party 软件包的后继者),您可以尝试一下:

install.packages("partykit", repos = "http://R-Forge.R-project.org")
library("partykit")

为了说明,我将只使用 iris 数据:

ct <- ctree(Species ~ ., data = iris)
plot(ct, tp_args = list(text = TRUE))

通过启用 text = TRUE 选项,您可以在条形图上方绘制标签(水平)。等效的规范是 text = "horizontal"text = "h"。如果您想要更窄的布局,您还可以使用:

plot(ct, tp_args = list(text = "vertical", ymax = 1.5))

而频率table就是:

tab <- table(predict(ct, type = "node"), iris$Species)
prop.table(tab, 1) * 100
##         setosa versicolor  virginica
##   2 100.000000   0.000000   0.000000
##   5   0.000000  97.826087   2.173913
##   6   0.000000  50.000000  50.000000
##   7   0.000000   2.173913  97.826087