给出并绘制rpart决策树的p值

时间:2019-05-25 09:52:36

标签: r decision-tree rpart p-value

我想用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

2 个答案:

答案 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值。决策树是一种描述性方法。它并非旨在检验假设。