Wann sollte ich Gini Impurity anstelle von Information Gain verwenden?


66

Kann jemand die Gründe für Gini-Verunreinigung gegen Informationsgewinn (basierend auf Entropie) praktisch erklären ?

Welche Metrik ist in verschiedenen Szenarien besser geeignet, wenn Entscheidungsbäume verwendet werden?


5
@Anony-Mousse Ich denke, das war vor deinem Kommentar offensichtlich. Die Frage ist nicht, ob beide ihre Vorteile haben, sondern in welchen Szenarien eines besser ist als das andere.
Martin Thoma

Ich habe "Informationsgewinn" anstelle von "Entropie" vorgeschlagen, da es ziemlich näher ist (IMHO), wie in den zugehörigen Links angegeben. Dann wurde die Frage in einer anderen Form in Wann soll Gini-Verunreinigung verwendet werden und wann soll Informationsgewinn verwendet werden?
Laurent Duval

1
Ich habe hier eine einfache Interpretation der Gini-Verunreinigung veröffentlicht, die hilfreich sein kann.
Picaud Vincent

Antworten:


47

Gini-Verunreinigung und Informationsgewinnungs-Entropie sind ziemlich gleich. Und die Leute benutzen die Werte austauschbar. Unten sind die Formeln von beiden:

  1. Gini:Gini(E)=1j=1cpj2
  2. Entropy:H(E)=j=1cpjlogpj

Wenn ich die Wahl hätte, würde ich die Gini-Verunreinigung verwenden, da ich keine rechenintensiven logarithmischen Funktionen berechnen muss. Die geschlossene Form seiner Lösung kann auch gefunden werden.

Welche Metrik ist in verschiedenen Szenarien besser geeignet, wenn Entscheidungsbäume verwendet werden?

Die Gini-Verunreinigung aus den oben genannten Gründen.

In Bezug auf die CART-Analyse sind sie also nahezu identisch.

Hilfreiche Referenz zum rechnerischen Vergleich der beiden Methoden


1
Es ist so üblich, eine Entropieformel zu sehen, während das, was im Entscheidungsbaum wirklich verwendet wird, wie eine bedingte Entropie aussieht. Ich denke, es ist eine wichtige Unterscheidung oder fehlt etwas?
user1700890

@ user1700890 Der ID3-Algorithmus verwendet Info. Entropie gewinnen. Ich muss mich über bedingte Entropie informieren. Wahrscheinlich eine Verbesserung gegenüber ID3 :)
Dawny33

1
Ich denke, Ihre Definition der Unreinheit der Gini könnte falsch sein: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma

22

Im Allgemeinen ändert sich Ihre Leistung nicht, egal ob Sie Gini-Verunreinigung oder Entropie verwenden.

Laura Elena Raileanu und Kilian Stoffel verglichen beide in " Theoretischer Vergleich zwischen Gini-Index und Informationsgewinnkriterien ". Die wichtigsten Bemerkungen waren:

  • Es ist nur in 2% der Fälle von Bedeutung, ob Sie Gini-Verunreinigung oder Entropie verwenden.
  • Die Berechnung der Entropie ist möglicherweise etwas langsamer (da der Logarithmus verwendet wird).

Mir wurde einmal gesagt, dass beide Metriken existieren, weil sie in verschiedenen Disziplinen der Wissenschaft entstanden sind.


16

Für den Fall einer Variablen mit zwei Werten, die mit den Brüchen f und (1-f) auftreten, sind
Gini und Entropie gegeben durch:
gini = 2 · f (1-f)
Entropie = f · ln (1 / f) + (1-f) * ln (1 / (1-f))
Diese Maße sind sehr ähnlich, wenn sie auf 1,0 skaliert werden (Zeichnen von 2 * gini und Entropie / ln (2)):

Zum Vergleich skalierte Werte für Gini (y4, lila) und Entropie (y3, grün)


14

Gini ist für fortlaufende Attribute vorgesehen und Entropy für Attribute, die in Klassen vorkommen

Gini dient zur Minimierung von Fehlklassifizierungen.
Entropy dient zur explorativen Analyse

Die Entropie ist etwas langsamer zu berechnen


7

0<u<1,log(1u)=uu2/2u3/3+0<p<1,log(p)=p1(1p)2/2(1p)3/3+
0<p<1,plog(p)=p(1p)+p(1p)2/2+p(1p)3/3+
Normalisierte Gini und Entropie Kriterien

Am Ende, wie von @NIMISHAN erklärt, ist Gini besser geeignet, Fehlklassifizierungen zu minimieren, da sie symmetrisch zu 0,5 sind, während Entropie kleine Wahrscheinlichkeiten stärker benachteiligt.


3

Die Entropie benötigt aufgrund der Protokollberechnung etwas mehr Rechenzeit als der Gini-Index. Vielleicht ist der Gini-Index deshalb die Standardoption für viele ML-Algorithmen. Aber von Tan et. al book Einführung in Data Mining

"Verunreinigungsmessungen stimmen weitgehend überein ... Die Strategie zum Beschneiden des Baums hat in der Tat eine größere Auswirkung auf den endgültigen Baum als die Auswahl der Verunreinigungsmessungen."

Es sieht also so aus, als ob die Auswahl des Verunreinigungsmaßes wenig Einfluss auf die Leistung von Einzelentscheidungsbaumalgorithmen hat.

Ebenfalls. "Die Gini-Methode funktioniert nur, wenn die Zielvariable eine binäre Variable ist." - Lernen Sie Predictive Analytics mit Python.


3

Ich habe in der letzten Woche Optimierungen an der binären Klassifikation vorgenommen und in jedem Fall übertrifft die Entropie Gini erheblich. Dies mag datensatzspezifisch sein, aber es scheint, als wäre es eine vernünftige Wahl, beide zu versuchen, während die Optimierung von Hyperparametern durchgeführt wird, anstatt vorher Annahmen über das Modell zu treffen.

Sie wissen erst, wie die Daten reagieren, wenn Sie die Statistiken erstellt haben.


0

Gemäß dem Parasimony-Prinzip übertrifft Gini die Entropie hinsichtlich der Rechenfreundlichkeit (log ist offensichtlich, da mehr Berechnungen erforderlich sind als eine einfache Multiplikation auf Prozessor- / Maschinenebene).

In einigen Datenfällen mit hohem Ungleichgewicht hat die Entropie jedoch definitiv einen Vorteil.

Da die Entropie ein Protokoll der Wahrscheinlichkeiten verwendet und mit den Wahrscheinlichkeiten des Ereignisses multipliziert, geschieht im Hintergrund der Wert der niedrigeren Wahrscheinlichkeiten, die erhöht werden.

Wenn Ihre Datenwahrscheinlichkeitsverteilung exponentiell ist oder Laplace (wie im Fall von Deep Learning, wo wir eine Wahrscheinlichkeitsverteilung an einem scharfen Punkt benötigen), ist die Entropie besser als Gini.

Um ein Beispiel zu geben, wenn Sie 2 Ereignisse mit einer Wahrscheinlichkeit von 0,01 und einer anderen Wahrscheinlichkeit von 0,99 haben.

In Gini Prob ist sq .01 ^ 2 + .99 ^ 2, .0001 + .9801 bedeutet, dass eine geringere Wahrscheinlichkeit keine Rolle spielt, da alles von der Mehrheitswahrscheinlichkeit bestimmt wird.

Bei Entropie ist jetzt .01 * log (.01) + .99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02-.00432 Deutlich erkennbare niedrigere Wahrscheinlichkeiten erhalten ein besseres Gewichtsalter.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.