绘制方决策树
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
我有下面的图,你可以在图片中看到,有什么办法可以看到叶节点中的确切百分比数吗?
如果你想 "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