Besoin d'aide pour comprendre la sortie de la construction d'un arbre de classification

voix
0

Je pratiquais faire des arbres de décision à l'aide du paquet appelé « arbre ».

#install.packages(ISLR)
set.seed(666)
library(ISLR)
index=sample(1:nrow(OJ),800,replace=F)
OJtrain=OJ[index,]
OJtest=OJ[-index,]
#install.packages(tree)
library(tree)
OJtraintree=tree(Purchase~.,data=OJtrain)
OJtraintree

La sortie de c'est:

node), split, n, deviance, yval, (yprob)
      * denotes terminal node

1) root 800 1073.00 CH ( 0.60625 0.39375 )  
   2) LoyalCH < 0.508643 353  415.10 MM ( 0.27479 0.72521 )  
     4) LoyalCH < 0.277977 161  112.80 MM ( 0.11180 0.88820 )  
       8) LoyalCH < 0.035047 55    0.00 MM ( 0.00000 1.00000 ) *
       9) LoyalCH > 0.035047 106   96.58 MM ( 0.16981 0.83019 ) *
     5) LoyalCH > 0.277977 192  260.10 MM ( 0.41146 0.58854 )  
      10) PriceDiff < 0.195 84   84.62 MM ( 0.20238 0.79762 )  
        20) SpecialCH < 0.5 67   49.01 MM ( 0.11940 0.88060 ) *
        21) SpecialCH > 0.5 17   23.51 CH ( 0.52941 0.47059 ) *
      11) PriceDiff > 0.195 108  147.30 CH ( 0.57407 0.42593 ) *
   3) LoyalCH > 0.508643 447  348.80 CH ( 0.86801 0.13199 )  
     6) LoyalCH < 0.764572 189  214.20 CH ( 0.74603 0.25397 )  
      12) PriceDiff < -0.165 33   43.26 MM ( 0.36364 0.63636 ) *
      13) PriceDiff > -0.165 156  143.70 CH ( 0.82692 0.17308 )  
        26) PriceDiff < 0.265 86   99.88 CH ( 0.73256 0.26744 ) *
        27) PriceDiff > 0.265 70   30.66 CH ( 0.94286 0.05714 ) *
     7) LoyalCH > 0.764572 258   90.94 CH ( 0.95736 0.04264 ) *

Je comprends que les lignes avec des astérisques sur l'arbre sont des noeuds terminaux. J'ai du mal à suivre les autres choses. Utilisation de la ligne 7, par exemple, je sais que « LoyalCH> 0,764572 » est où les fentes d'arbres de décision et des branches pour le noeud terminal, et CH est la valeur qualitative du noeud terminal où les clients sont supérieurs à 76,4572% fidèles à CH (le données est pré-chargé avec le paquet ISLR, CH est une marque de jus). Je suppose que 258 est censé être le nombre de points de données qui serpentent dans ce nœud terminal. Je sais que 90,94 est censé décrire la bonté de l'ajustement au modèle, mais je suis un peu confus au sujet de la notion de déviance. Est une valeur plus élevée de mauvaise déviance? Est-ce que 90,94 indique qu'il est un ajustement plus faible? En ce qui concerne les chiffres entre parenthèses, dois-je comprendre que 0,95736 est la probabilité de chaque point de données dans cette branche en choisissant CH?

Créé 19/03/2020 à 22:06
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more