【发布时间】:2016-06-17 13:26:34
【问题描述】:
我正在使用 R 的 rpart pacakge,我想提取叶节点的前 2 个预测类,而不仅仅是最好的。
以iris数据为例:
fit <- rpart(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris)
print(fit)
输出是:
n= 150
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)
2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) *
3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000)
6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) *
7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) *
我想知道对于每个叶节点,比如节点 7),第二好的预测物种是什么。默认只打印出预测最好的物种virginica
更一般地说,我想知道前 n 个预测类别。
是否可以在不更改rpart 的源代码的情况下从fit 中提取这些信息?
【问题讨论】:
标签: r decision-tree rpart