如何从每个节点的决策树中获取百分比

时间:2014-12-31 22:33:52

标签: r rpart

如何创建一个包含下图中每个节点百分比的表?

library(rpart)
library(rattle)
library(rpart.plot)
library(RColorBrewer)

fit <- rpart(Species ~ ., data=iris, method="class")
fancyRpartPlot(fit)

这导致了这个情节:

image

我想输出一个表,其中第一列是物种,第二列是每个节点的相关百分比。表的第二次迭代将排除第一个节点(100%),并通过保留包含更高百分比的行来删除重复项。

在选择“rpart”文档后,我仍然无法弄清楚如何创建此表。请让我知道你在想什么。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

rpart-object的where元素是终端节点的预测类。您可以在表格中找到:

> iris$where <- fit$where
> with(iris, table(Species, where))
            where
Species       2  4  5
  setosa     50  0  0
  versicolor  0 49  1
  virginica   0  5 45

我猜你想要列总和除以总计数?

> 100*colSums(with(iris, table(Species, where)) )/150
       2        4        5 
33.33333 36.00000 30.66667