35
1/35 Prädiktion und Klassifikation mit Random Forest Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri [email protected] Technical University NW-Switzerland

Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

  • Upload
    rhian

  • View
    67

  • Download
    0

Embed Size (px)

DESCRIPTION

Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri [email protected] Technical University NW-Switzerland. Übersicht Probleme mit Decision Tree Der Random Forests RF Implementation & Tests RF Resultate Rückblick. Decision Tree. Probleme mit Decision Tree. rule 1, - PowerPoint PPT Presentation

Citation preview

Page 1: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

1/35

Prädiktion und Klassifikation mit Random Forest

Prädiktion und Klassifikation mit Random Forest

Prof. Dr. T. [email protected]

Technical University NW-Switzerland

Page 2: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

2/35

Prädiktion und Klassifikation mit Random Forest

Übersichta. Probleme mit Decision Tree

b. Der Random Forests RF

c. Implementation & Tests RF

d. Resultate

e. Rückblick

Page 3: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

3/35

Prädiktion und Klassifikation mit Random Forest

Decision Tree

Page 4: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

4/35

Prädiktion und Klassifikation mit Random Forest

Probleme mit Decision Tree

rule 1,conditions Gender = 2, FishLastWeek = 0; FishLastWeek = 1 Age = 3Then Blood Pressure is High 71.4

Page 5: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

5/35

Prädiktion und Klassifikation mit Random Forest

a. Der Random Forests1. Allgemeines

2. Die Erstellung eines Baumes1. „Random Trainingsets“ generieren2. Baum erstellen3. Wald testen

3. Scoring

Page 6: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

6/35

Prädiktion und Klassifikation mit Random Forest

1 Allgemeines zum Random Forest

- Erweiterung des traditionellen Entscheidungsbaum-Modells- Viele Bäume- Weniger Splitvariablen- Zufällige Datensets- Kein Baum ist gleich wie der andere

Page 7: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

7/35

Prädiktion und Klassifikation mit Random Forest

2.1 „Random Trainingsets“ generieren

1. Daten einlesen

2. Anzahl Objekte (ntrain) und Anzahl Variablen (mdim) berechnen

3. Zufällig ntrain Objekte aus allen Objekte auswählen(Wiederholungen sind erlaubt)

4. Immer ntrain Objekte ergeben ein Training-Set Trnn

5. Mit jedem Training-Set wird ein Baum gebaut

Page 8: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

8/35

Prädiktion und Klassifikation mit Random Forest

2.1 „Random Trainingsets“ generieren

ntrain = Anzahl ObjekteHier: ntrain = 10

(Die Trainingsdaten solltenrepräsentativ für alle möglichen Daten sein.)

Wähle zufällig ntrain Objekte aus den InputDaten(Wiederholungen sinderlaubt)

TrainingSet Trn1

TrainingSet Trn2

3x

3x

2x

2x

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 9: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

9/35

Prädiktion und Klassifikation mit Random Forest

2.2 Baum erstellen

1. Zufällig mtry Variablen aus den mdim Variablen aussuchen.mtry wird mit den Startparametern angegeben.Als gute Zahl für mtry wird empfohlen.Hier wird mtry = 2 verwendet.

Var1 Var2 Var3 Var4 Var5

mdimmtry

2. Für die mtry Variablen wird berechnet, welche von ihnen dieTrni -Daten am besten aufteilt. (find best split)Dies kann mit dem Gini-Index, Entropie, usw. berechnet werden.

In diesem Fall wurde folgende Entropieformel verwendet:

nplnpn

plnpEntropie""p+= Anz. richtig klassifiziertep-= Anz. falsch klassifizierten = Anzahl Objekte

Page 10: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

10/35

Prädiktion und Klassifikation mit Random Forest

2.2.1 Node 1

Im Node 1 wird derBest Split bei Var1 und Var4 gesucht.

Var1 hat den kleineren„Entropie“-Wert

Var1 ist der best Split.

Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

6.113.25Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

6.113.25Ent

51021129

63101428

63101428

63101428

51001627

51001627

51001627

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 11: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

11/35

Prädiktion und Klassifikation mit Random Forest

2.2.1 Node 1

Rule 1: Wenn Var 1 <= 2.5 dann Class = 1 , Gehe zu Node 2Die Daten werden mit der Rule 1 aufgeteilt.

2,4,6,9 7,8

Page 12: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

12/35

Prädiktion und Klassifikation mit Random Forest

2.2.2 Node 2

Im Node 2 wird derBest Split bei Var1 und Var2 gesucht.

Var2 hat den kleineren„Entropie“-Wert

Var2 ist der best Split.Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

02.25Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

02.25Ent

51021129

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 13: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

13/35

Prädiktion und Klassifikation mit Random Forest

2.2.2 Node 2

Rule 2: Wenn Var 2 <= 1.5 dann Class = 2, Gehe zu Node 4Die Daten werden mit der Rule 2 aufgeteilt.

2,4,6,9 7,8

9 2,4,6

Page 14: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

14/35

Prädiktion und Klassifikation mit Random Forest

2.2.3 Node 3

Im Node 3 befindensich nur noch Objektemit Class = 2, derKnoten ist daher reinund muss nicht mehrweiter gesplittetwerden.

63101428

63101428

63101428

51001627

51001627

51001627

Var5Var4Var3Var2Var1ClassCaseNbr

63101428

63101428

63101428

51001627

51001627

51001627

Var5Var4Var3Var2Var1ClassCaseNbr

63101428

63101428

63101428

51001627

51001627

51001627

Var5Var4Var3Var2Var1ClassCaseNbr

63101428

63101428

63101428

51001627

51001627

51001627

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 15: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

15/35

Prädiktion und Klassifikation mit Random Forest

2.2.3 Node 3

2,4,6,9 7,8

9 2,4,6

Page 16: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

16/35

Prädiktion und Klassifikation mit Random Forest

2.2.4 Node 4

Im Node 5 befindensich nur noch Objektemit Class = 2, derKnoten ist daher reinund muss nicht mehrweiter gesplittetwerden.

51021129

Var5Var4Var3Var2Var1ClassCaseNbr

51021129

Var5Var4Var3Var2Var1ClassCaseNbr

51021129

Var5Var4Var3Var2Var1ClassCaseNbr

51021129

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 17: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

17/35

Prädiktion und Klassifikation mit Random Forest

2.2.4 Node 4

2,4,6,9 7,8

9 2,4,6

Page 18: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

18/35

Prädiktion und Klassifikation mit Random Forest

2.2.5 Node 5

Im Node 4 befindensich nur noch Objektemit Class = 1, derKnoten ist daher reinund muss nicht mehrweiter gesplittetwerden.

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbr

32003016

63005014

51202112

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 19: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

19/35

Prädiktion und Klassifikation mit Random Forest

2.2.5 Node 5

Der Fertig entwickelte Baum

9 2,4,6

2,4,6,9 7,8

Page 20: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

20/35

Prädiktion und Klassifikation mit Random Forest

2.3 Wald evaluieren

- Oob-TestSet erstellen

- Objekte von Baum Klassifizieren lassen

- Fehlerquote berechnen

Page 21: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

21/35

Prädiktion und Klassifikation mit Random Forest

2.3.1 Oob-TestSet erstellen

Für den Test wird für jedenBaum Treei ein TestSetverwendet.Dies sind jeweils diejenigenObjekte, die nicht imTrainingsSet Trni des Baumsenthalten waren, gebildet.

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbr

630100210

51021129

63101428

51001627

32003016

63204215

63005014

32100113

51202112

63011221

Var5Var4Var3Var2Var1ClassCaseNbrObj.Nbr

Page 22: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

22/35

Prädiktion und Klassifikation mit Random Forest

2.3.2 Objekte Klassifizieren

Obj. Nbr

Class Var1 Var2 Var3 Var4 Var5

1 2 2 1 1 0 63

Node1

Var1

Node2

Var2

Node3

IsLeaf

Node4

IsLeafNode5

IsLeaf

Rule 2: Wenn Var 2 <= 1.5 dann Class = 2Gehe zu Node 4

Rule 1: Wenn Var 1 <= 2.5 dann Class = 1Gehe zu Node 2

Objekt1: Class = 2

Page 23: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

23/35

Prädiktion und Klassifikation mit Random Forest

2.3.3 Für alle Bäume …

Page 24: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

24/35

Prädiktion und Klassifikation mit Random Forest

2.3.3 … werden die Objekte Klassifiziert

- Jeder Baum klassifiziert sein Oob-TestSet ObjektScore

- Die ObjektScore gibt für jedes Objekti an, mit welcher Wahrscheinlichkeit es falsch Klassifiziert wurde

- Aussagekraft des Waldes = Durchschnitt aller ObjektScores

mdim

eObjektScorft Aussagekra

mdim

1i i

Page 25: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

25/35

Prädiktion und Klassifikation mit Random Forest

2.3.4 Fehlerquote berechnenObjekt Ausgewählt Davon falsch Fehler-%

1 4 1 25%

2 3 0 0%

3 2 1 50%

4 2 1 50%

5 3 2 66.67%

6 2 0 0%

7 6 3 50%

8 3 2 66.67%

9 1 1 100%

10 3 0 0%

Total: 40.83%

Page 26: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

26/35

Prädiktion und Klassifikation mit Random Forest

3. Scoring

• Wenn ein Random Forest generiert wurde, können ihm beliebige Testdaten eingegeben werden.

• Jedes Test-Objekt wird von jedem Baum klassifiziert.

Class = 1Class = 1

Class = 2Class = 1

Objekti

Tree1

Objekti

Tree2

Objekti

Tree3

Objekti

Treejbt

Der Test Fall wird somit derjenigen Klasse zugewiesen, die am Meisten Stimmen erhält:VOTING

Page 27: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

27/35

Prädiktion und Klassifikation mit Random Forest

b. Implementation & Tests von RF

- Implementierung des Modells in der SAS-Language

- Einbindung in den Enterprise Miner

Page 28: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

28/35

Prädiktion und Klassifikation mit Random Forest

c. Tests

- 4 Verschiedene Modelle- SAS Random Forest- Breiman Random Forest- Decision Tree 1- Decision Tree 2

- 3 Verschiedene Datensets- SmallBPress 10 Training / 10 Test

5 Var.- Bank 50 Training / 500 Test 8

Var.- SatImage 4435 Training /2000 Test 36

Var.

Page 29: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

29/35

Prädiktion und Klassifikation mit Random Forest

c. Tests

- Durchläufe mit 1, 5, 10 und 100 Bäumen für alle Forest Modelle

- Supervised und Unsupervised Scoring mit allen Modellen

Page 30: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

30/35

Prädiktion und Klassifikation mit Random Forest

d. Resultate / Supervised

Supervised Scoring 100 Trees

40%

50%

60%

70%

80%

90%

100%

SAS RF RF Hybrid Breiman RF Decision Tree1

Decision Tree2

SmallBPressBankSatImage

DatenSetSAS RF

RF Hybrid

Breiman RF

Decision Tree 1

Decision Tree 2

SmallBPress

100% 100% 100% 100% 100%

Bank 100% 100% 100% 100% 100%

SatImage 100% 100% 100% 94% -

Page 31: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

31/35

Prädiktion und Klassifikation mit Random Forest

d. Resultate / Unsupervised

Unsupervised Scoring 100 Trees

40%

50%

60%

70%

80%

90%

100%

SAS RF RF Hybrid Breiman RF Decision Tree 1 Decision Tree 2

SmallBPressBankSatImage

DatenSetSAS RF

RF Hybrid

Breiman RF

Decision Tree

1

Decision Tree

2

SmallBPress

81% 51% 80% 50% 60%

Bank 93% 93% 94% 81% 91%

SatImage 91% 90% 91% 84% -

Page 32: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

32/35

Prädiktion und Klassifikation mit Random Forest

d. Resultate

- Random Forest liefert die besseren Resultateals traditionelle Modelle

- Voraussetzung ist eine Mindestanzahl von Bäumen(mehr als 100)

- Somit ist das Random Forest - Modell eine bessere Alternative zum Decision Tree

Page 33: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

33/35

Prädiktion und Klassifikation mit Random Forest

Zusammenfassung

Page 34: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

34/35

Prädiktion und Klassifikation mit Random Forest

e. Rückblick

- Erste Kommerzielle Implementation

- Random Forest liefert bessere Ergebnisse Klassifikation/Vorhersage als Decision Trees

- Nur die besten aussagekräftigsten Bäume wählen ====> Besser Modell

Page 35: Prädiktion und Klassifikation mit Random Forest Prof. Dr. T. Nouri Nouri@acm

35/35

Prädiktion und Klassifikation mit Random Forest