我想用rpart和fancyRpartPlot在R中绘制决策树。该代码正在运行,但是我想显示每个拆分的p值。当我执行树时(代码的最后一行),我得到了节点后的星号,这些星号通常表示统计意义-我想这也是这种情况。但是,我想访问计算的p值并将其包括在图中。如果有人对如何执行此操作有任何想法,我将不胜感激。谢谢!
library(rpart)
library(rattle)
library(rpart.plot)
library(RColorBrewer)
seatbelts <- Seatbelts
seatbelts <- as.data.frame(seatbelts)
unique(seatbelts$law)
seatbelts_tree <- rpart(law ~ ., data=seatbelts)
plot(seatbelts_tree, uniform = TRUE, margin = 0.5)
text(seatbelts_tree)
prp(seatbelts_tree)
fancyRpartPlot(seatbelts_tree, type=2)
seatbelts_tree
答案 0 :(得分:1)
以上代码的输出包含答案,即*表示终端节点,根据格式,很难发现给定的文本输出。
n= 192
node), split, n, deviance, yval
* denotes terminal node
1) root 192 20.244790 0.11979170
2) drivers>=1303 178 8.544944 0.05056180
4) front>=663 158 1.974684 0.01265823
8) kms< 18147.5 144 0.000000 0.00000000 *
9) kms>=18147.5 14 1.714286 0.14285710 *
5) front< 663 20 4.550000 0.35000000
10) PetrolPrice< 0.1134217 11 0.000000 0.00000000 *
11) PetrolPrice>=0.1134217 9 1.555556 0.77777780 *
3) drivers< 1303 14 0.000000 1.00000000 *
如果要使用p值,则应查看cpart
库。这是一个与之相关的问题,有简短的解释和进一步的阅读材料。
https://stats.stackexchange.com/questions/255150/how-to-interpret-this-decision-tree/255156
答案 1 :(得分:0)
rpart
的打印方法中的星星突出显示了终端节点,而不是p值。决策树是一种描述性方法。它并非旨在检验假设。