来自决策树的前n类叶节点

时间:2016-03-03 23:50:16

标签: r decision-tree rpart

我正在使用^[的{​​{1}} pacakge,我想要提取叶子节点的前2个预测类,而不是最好的。 以rpart数据为例:

R

,输出为:

iris

我想知道每个叶节点,比如节点7),什么是第二个最佳预测物种。默认情况下,它只打印出最佳预测种类fit <- rpart(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris) print(fit)

更一般地说,我想知道前n个预测类。

是否可以在不更改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) * 源代码的情况下从virginica中提取此信息?

1 个答案:

答案 0 :(得分:0)

您可以通过

找到它们
> fit$frame$yval2
                                             nodeprob
[1,] 1 50 50 50 0.3333333 0.33333333 0.33333333 1.0000000
[2,] 1 50  0  0 1.0000000 0.00000000 0.00000000 0.3333333
[3,] 2  0 50 50 0.0000000 0.50000000 0.50000000 0.6666667
[4,] 2  0 49  5 0.0000000 0.90740741 0.09259259 0.3600000
[5,] 3  0  1 45 0.0000000 0.02173913 0.97826087 0.3066667

或者你可以从

看到它
fancyRpartPlot(fit)

来自拨浪鼓包 - 它是变色的

enter image description here

我认为你想要一个更复杂的东西,但如果树很简单,那么图表就可以了。