Berechnung von GINI-Index und Shannon-Entropie mit dem R-Paket rpart
Es ist erstaunlich, mit welch einfachen Rechenverfahren manche Algorithmen des maschinellen Lernens „künstlich intelligente“ Ergebnisse produzieren können. Das hier eingesetzte rpart-Paket verwendet zur Ermittlung optimaler Aufteilungskriterien für einen Entscheidungsbaum standardmäßig den GINI-Index, kann in R jedoch auch durch den Zusatz split = „information“ so aufgerufen werden, dass er die Shannon-Entropie berechnet:
rp1 <- rpart(formula = Diagnose ~ ., data = x)
rp2 <- rpart(formula = Diagnose ~ ., data = x, parms = list(split = "information"))
Der Ausdruck formula = Diagnose ~ . bedeutet hier, dass ein Baum für die Variable Diagnose in Abhängigkeit von allen anderen Variablen berechnet werden soll. Implizit beinhaltet dieser Aufruf auch die Anweisung, nur die wirklich relevanten Variablen zu verwenden. Diesen Prozess nennt man „feature selection“.
Die Formeln für die Berechnung des GINI-Index (G) und der Shannon-Entropie (H) lauten:

Dabei steht der Buchstabe p für „Wahrscheinlichkeit“ („probability“), also für die relative Häufigkeit, mit der eine Klasse im Datensatz auftritt. So enthält unser Datensatz 128 SCLC- und 308 NSCLC-Fälle. Bezogen auf die Gesamtzahl von 436 ergibt sich für p1 ein Wert von 0,294 (29,4 %) und für p2 ein Wert von 0,796 (79,6 %).
Beim GINI-Index werden die Quadrate dieser beiden Wahrscheinlichkeiten addiert, und bei der Shannon-Entropie werden die beiden Wahrscheinlichkeiten mit ihrem dualen Logarithmus multipliziert und ebenfalls addiert (das Minuszeichen bewirkt, dass der gesamte Ausdruck positiv wird).