Выдать и построить p-значения для дерева решений rpart - PullRequest
0 голосов
/ 25 мая 2019

Я хочу построить дерево решений в R с помощью rpart и fancyRpartPlot.Код работает, но я хочу показать 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 ]

1 голос
/ 25 мая 2019

Результат вышеприведенного кода содержит ответ, который * указывает на терминальный узел , который труднее обнаружить при выводе текста в зависимости от формата.

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

0 голосов
/ 25 мая 2019

Звезды в методе печати rpart выделяют терминальные узлы, а не значения p.Дерево решений - это описательный метод.Он не предназначен для проверки гипотез.

...