Mathematik hinter Klassifikations- und Regressionsbäumen

13

Kann jemand helfen, einige der Mathematik hinter der Klassifizierung in CART zu erklären? Ich möchte verstehen, wie zwei Hauptphasen ablaufen. Zum Beispiel habe ich einen CART-Klassifikator für ein Dataset trainiert und ein Test-Dataset verwendet, um die prädiktive Leistung zu kennzeichnen, aber:

  1. Wie wird die ursprüngliche Wurzel des Baumes gewählt?

  2. Warum und wie entsteht jeder Zweig?

Mein Datensatz besteht aus 400.000 Datensätzen mit 15 Spalten und 23 Klassen. Aus einer Verwirrungsmatrix ergibt sich eine Genauigkeit von 100%. Ich verwende eine 10-fache Kreuzvalidierung für den Datensatz. Ich wäre sehr dankbar, wenn jemand die Stufen der CART-Klassifizierung erläutern könnte.

G Gr
quelle

Antworten:

23

CART- und Entscheidungsbäume wie Algorithmen arbeiten durch rekursive Aufteilung des Trainingssatzes, um Teilmengen zu erhalten, die für eine bestimmte Zielklasse so rein wie möglich sind. Jeder Knoten des Baums ist einem bestimmten Satz von Datensätzen T , die durch einen bestimmten Test für ein Merkmal aufgeteilt werden. Zum Beispiel kann eine Aufteilung auf ein kontinuierliches Attribut EIN durch den Test induziert werden EINx. Der Satz von AufzeichnungenT wird dann in zwei Teilmengen aufgeteilt, die zum linken Zweig des Baums und zum rechten Zweig führen.

Tl={tT:t(EIN)x}

und

Tr={tT:t(EIN)>x}

In ähnlicher Weise kann ein kategoriales Merkmal verwendet werden, um Teilungen gemäß seinen Werten zu induzieren. Wenn zum Beispiel B = { b 1 , , b k } ist, kann jeder Zweig i durch den Test B = b induziert werdenBB={b1,,bk}ich.B=bich

Der Teilungsschritt des rekursiven Algorithmus zum Induzieren eines Entscheidungsbaums berücksichtigt alle möglichen Teilungen für jedes Merkmal und versucht, die beste nach einem gewählten Qualitätsmaß zu finden: dem Teilungskriterium. Wenn Ihr Datensatz durch das folgende Schema induziert wird

EIN1,,EINm,C

Wobei Attribute sind und C die Zielklasse ist, werden alle Kandidatensplits nach dem Splitting-Kriterium generiert und ausgewertet. Splits für fortlaufende und kategoriale Attribute werden wie oben beschrieben generiert. Die Auswahl der besten Aufteilung erfolgt üblicherweise durch Verunreinigungsmaßnahmen. Die Verunreinigung des Elternknotens muss durch die Aufteilung verringert werden . Sei ( E 1 , E 2 , , E k ) eine auf der Menge von Aufzeichnungen E induzierte Aufteilung, ein Aufteilungskriterium, das von dem Verunreinigungsmaß I ( ) Gebrauch macht, ist:EINjC(E1,E2,,Ek)Eich()

Δ=ich(E)-ich=1k|Eich||E|ich(Eich)

Standardmaßstäbe für Verunreinigungen sind die Shannon-Entropie oder der Gini-Index. Insbesondere verwendet CART den Gini-Index, der für die Menge wie folgt definiert ist. Sei p j der Bruchteil von Datensätzen in E der Klasse c j p j = | { t E : t [ C ] = c j } |EpjEcj dann Gini(E)=1- Q Σ j=1p 2 j wobeiQdie Anzahl der Klassen ist.

pj=|{tE:t[C]=cj}||E|
Gichnich(E)=1-j=1Q.pj2
Q.

Es führt zu einer Verunreinigung von 0, wenn alle Datensätze derselben Klasse angehören.

Als Beispiel sagen sie , dass wir einen binären Klassensatz von Datensatz haben , wo die Klassenverteilung ist ( 1 / 2 , 1 / 2 ) - Das folgende ist eine gute Aufteilung für TT(1/2,1/2)T

Gute Trennung

Tl(1,0)Tr(0,1)TlTr|Tl|/|T|=|Tr|/|T|=1/2Δ

Δ=11/221/2200=1/2

ΔSchlechte Trennung

Δ=11/221/221/2(1(3/4)2(1/4)2)1/2(1(1/4)2(3/4)2)=1/21/2(3/8)1/2(3/8)=1/8

Die erste Aufteilung wird als beste Aufteilung ausgewählt, und der Algorithmus fährt dann rekursiv fort.

Es ist einfach, eine neue Instanz anhand eines Entscheidungsbaums zu klassifizieren. Es reicht sogar aus, dem Pfad vom Stammknoten zu einem Blatt zu folgen. Ein Datensatz wird mit der Majoritätsklasse des Blattes klassifiziert, das er erreicht.

Angenommen, wir möchten das Quadrat in dieser Figur klassifizieren

Datensatz mit zwei Features

EIN,B,CCAB zwei kontinuierliche Merkmale sind.

Ein möglicher induzierter Entscheidungsbaum könnte der folgende sein: Bildbeschreibung hier eingeben

Es ist klar, dass die Aufzeichnung Platz als Kreis gegeben durch den Entscheidungsbaum klassifiziert wird , dass die Aufzeichnung auf einem Blatt fällt mit Kreisen markiert.

In diesem Spielzeugbeispiel beträgt die Genauigkeit des Trainingssatzes 100%, da keine Aufzeichnung vom Baum falsch klassifiziert wird. In der grafischen Darstellung des oben aufgeführten Trainingssatzes sehen Sie die Grenzen (graue gestrichelte Linien), die der Baum zur Klassifizierung neuer Instanzen verwendet.

Es gibt viel Literatur zu Entscheidungsbäumen, ich wollte nur eine skizzenhafte Einführung aufschreiben. Eine andere berühmte Implementierung ist C4.5.

Simone
quelle
1
tolle Diagramme!
Cam.Davidson.Pilon
Vielen Dank, leider scheint der Editor den Upload im PDF-Format nicht zu unterstützen. Sie waren vektoriell.
Simone
2

Ich bin kein Experte für WARENKORBE, aber Sie können das Buch "Elemente des statistischen Lernens" ausprobieren, das online frei verfügbar ist (siehe Kapitel 9 für WARENKORBE). Ich glaube, das Buch wurde von einem der Schöpfer des CART-Algorithmus (Friedman) geschrieben.

Bitweise
quelle
Das hat sehr geholfen! +1 brillanter Fund!
G Gr
@ GarrithGraham kein Problem, ich dachte, dieses kostenlose Buch ist ein "bekanntes Geheimnis".
Bitweise