2017-08-24 2 views
0

Ich habe vor kurzem mit RPART gearbeitet und lief in eine Berechnung, die ich nicht verstehe.Rpart Improvement Score mit Information Gain

Bei der Arbeit mit Informationsgewinn, wie wird "verbessern" oder Variable Bedeutung berechnet (sie scheinen die gleichen aus meinen Tests zu sein).

als Dummy Beispiel habe ich versucht, das Erlernen der folgenden Tabelle:

happy,class 
    yes,p 
    no,n 

mit dem Befehl:

fit <-rpart(class ~ happy,data=train,parms = list(split="information"),minsplit=0)

Es ist einfach, und gibt den erwarteten Baum mit der Wurzel und dann jeweils Blatt, das ein Element enthält.

Wo dies verwirrend ist, ist, dass die Verbesserung für den Split 1.386294 gegeben ist.

Ich würde erwarten, dass die Verbesserung hier 1 (von Entropie 1 zu Entropie 0 bei den Kindern) ist, was fehlt mir?

+0

Hallo Greg, willkommen zu stackoverflow! Bitte geben Sie ein [reproduzierbares Beispiel] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), so dass die Leute Ihnen helfen können –

+0

Hallo Julian, ich räumte auf originelle post - generelle Einblicke in die Berechnung der Statistik sind ebenfalls willkommen! – Greg

+0

rpart ist eine Implementierung von CART. Es verwendet GINI, um Knotenaufteilungen zu entscheiden, nicht Entropie. – G5W

Antwort

0

Nun, um dies zu beantworten, ist es, weil RPART das natürliche Protokoll verwendet.

So scheint es, dass die Verbesserung der Entropie durch die Anzahl der Elemente im Knoten verbessert wird.

Die Entropie im Wurzelknoten ist: -ln (1/2) * 1/2 * 2 + -ln (1/2) * 1/2 * 2 = -ln (1/2) * 2 1.38 . Die Entropie in den Blattknoten ist beide 0.

Warum sie natürlichen Log verwenden, habe ich keine Ahnung.