Sie haben die Zielklassenvariable einfach überhaupt nicht verwendet. Gini-Verunreinigung misst wie alle anderen Verunreinigungsfunktionen die Verunreinigung der Ausgänge nach einer Aufteilung. Was Sie getan haben, ist etwas nur mit Stichprobengröße zu messen.
Ich versuche, eine Formel für Ihren Fall abzuleiten.
Nehmen wir zur Vereinfachung an, Sie haben einen binären Klassifikator. Kennzeichnen Sie mit das , mit das Klassenattribut mit Werten.C c + , c -EINCc+, c-
Der anfängliche Gini-Index vor der Teilung ist gegeben durch
wobei der Anteil von Datenpunkten ist, die einen -Wert für die Klasse haben Variable. P ( A + ) c +
ich( A ) = 1 - P( A+)2- P( A-)2
P( A+)c+
Jetzt wäre die Verunreinigung für den linken Knoten
wobei Anteil der Datenpunkte aus der linken Teilmenge von die in der Klassenvariablen den Wert haben , usw.
ich( A l ) = 1 - P( A l+)2- P( A l-)2
ich( A r ) = 1 - P( A r+)2- P( A r-)2
P( A l+)EINc+
Nun wäre die endgültige Formel für GiniGain
G i n i G a i n ( A ) = I( A ) - pl e ftich( A l ) - pr i gh tich( A r )
wobei der Anteil der Instanzen für die linke Teilmenge ist, oder (wie viele Instanzen in der linken Teilmenge ist durch die Gesamtzahl der Fälle von geteilten .
pl e ft# | A l |# | A l | + # | A r |EIN
Ich habe das Gefühl, dass meine Notation verbessert werden könnte. Ich werde später sehen, wann ich mehr Zeit habe.
Fazit
Es reicht nicht aus, nur die Anzahl der Datenpunkte zu verwenden. Verunreinigungen bedeuten, wie gut ein Merkmal (Testmerkmal) die Verteilung eines anderen Merkmals (Klassenmerkmal) reproduzieren kann. Die Test-Feature-Verteilung erzeugt die Nummer, die Sie verwendet haben (nach links, nach rechts), aber die Verteilung des Klassen-Features wird in Ihren Formeln nicht verwendet.
Später bearbeiten - beweisen Sie, warum es abnimmt
Jetzt ist mir aufgefallen, dass ich den Teil verpasst habe, der beweist, warum der Gini-Index auf dem untergeordneten Knoten immer kleiner ist als auf dem übergeordneten Knoten. Ich habe keinen vollständigen oder verifizierten Beweis, aber ich denke, es ist ein gültiger Beweis. Weitere interessante Informationen zum Thema finden Sie unter Technischer Hinweis: Einige Eigenschaften von Aufteilungskriterien - Leo Breiman . Nun folgt es meinem Beweis.
Nehmen sich an, daß wir im binären Fall sind und alle Werte in einem Knoten durch ein Paar vollständig beschrieben werden könnten mit der Bedeutung Instanz der ersten Klasse und Instanzen der zweiten Klasse. Wir können im übergeordneten Knoten angeben, dass wir Instanzen haben.( a , b )einb( a , b )
Um die beste Aufteilung zu finden, sortieren wir die Instanzen nach einem Testfeature und probieren alle möglichen binären Aufteilungen aus. Nach einem bestimmten Merkmal ist tatsächlich eine Permutation von Instanzen sortiert, in denen Klassen mit einer Instanz der ersten Klasse oder der zweiten Klasse beginnen. Ohne die Allgemeinheit zu verlieren, nehmen wir an, dass es mit einer Instanz der ersten Klasse beginnt (wenn dies nicht der Fall ist, haben wir einen Spiegelnachweis mit derselben Berechnung).
Die erste Aufteilung, die versucht werden soll, erfolgt in der linken und rechten Instanz. Wie wird der Gini-Index für diese möglichen Kandidaten für den linken und den rechten untergeordneten Knoten mit dem übergeordneten Knoten verglichen? Links haben wir offensichtlich . Auf der linken Seite haben wir also einen kleineren Gini-Indexwert. Wie wäre es mit dem richtigen Knoten?( 1 , 0 )( a - 1 , b )h ( l e ft ) = 1 - ( 1 / 1 )2- ( 0 / 1 )2= 0
h ( p a r e n t ) = 1 - ( aa + b)2- ( ba + b)2
h ( r i gh t ) = 1 - ( a - 1( a - 1 ) + b)2- ( b( a - 1 ) + b)2
Wenn man bedenkt, dass größer oder gleich (da sonst, wie könnten wir eine Instanz der ersten Klasse im linken Knoten trennen?), Ist es nach Vereinfachung einfach zu erkennen, dass der Gini-Index für den rechten Knoten einen kleineren Wert als für den hat Elternknoten.ein0
Nun besteht die letzte Stufe des Beweises darin, zu verdeutlichen, dass wir unter Berücksichtigung aller möglichen Teilungspunkte, die durch die uns vorliegenden Daten vorgegeben sind, denjenigen behalten, der den kleinsten aggregierten Gini-Index aufweist, was bedeutet, dass das von uns gewählte Optimum kleiner oder gleich dem ist Triviales, von dem ich bewiesen habe, dass es kleiner ist. Daraus folgt, dass der Gini-Index am Ende sinken wird.
Als letzte Schlussfolgerung müssen wir feststellen, dass selbst wenn verschiedene Aufteilungen Werte ergeben können, die größer als der übergeordnete Knoten sind, derjenige, den wir wählen, der kleinste unter ihnen und der kleinere als der übergeordnete Gini-Indexwert.
Ich hoffe es hilft.