Rückblick k-nächste Nachbarn als distanzbasiertes Verfahren zur Klassifikation benötigt sinnvolles Distanzmaß und weist vorher unbekanntem Datenpunkt dann die häufigste Klasse seiner k nächsten Nachbarn zu Naïve Bayes als Familie von Klassifikationsverfahren wendet den Satz von Bayes an, um die bedingte Wahrscheinlichkeit zu schätzen, dass ein Datenpunkt zu einer bestimmten Klasse gehört; hierzu wird eine Unabhängigkeitsannahme über die Verteilung seiner Merkmale gemacht 64
4.6 Entscheidungsbäume Entscheidungsbäume (decision trees) sind diskriminative Verfahren zur Klassifikation in zwei oder mehr Klassen; unabhängige Merkmale der Datenpunkte können nominal, ordinal oder metrisch sein Idee: Jeder Knoten eines Entscheidungsbaums gibt ein Split-Kriterium (z.b. Hubraum < 3.1) vor; Teilbäume enthalten die entsprechend aufgeteilten Daten Entscheidungsbäume typischerweise binär; höhere Verzweigungsgrade sind jedoch prinzipiell möglich 65
Entscheidungsbäume yes Hubraum < 3.1 no Japan Hubraum < 2.2 Japan Gewicht >= 1251 Gewicht >= 1393 Europa Japan Europa 66
Entscheidungsbäume Gewicht 1000 1500 2000 Europa Japan Europa 1 2 3 4 5 6 7 Hubraum 67
Informationstheorie Claude E. Shannon (1916 2001) begründete die Informationstheorie, welche eine wichtige Rolle spielt z.b. Kodierung Datenkompression Informationsübertragung Quelle: en.wikipedia.org zudem kommen Konzepte der Informationstheorie zum Einsatz in anderen Gebieten z.b. Maschinelles Lernen (z.b. Klassifikation) Information Retrieval Computerlinguistik 68
Entropie Entropie (entropy) ist ein Maß des Informationsgehalts (auch: Unsicherheit) einer diskreten Zufallsvariable X H(X) = ÿ P[x ] log 2 P[x ] xœx Beispiel: fairer Würfel W, d.h. alle Zahlen mit Wahrscheinlichkeit 1/6 H(W ) 2.58 gezinkter Würfel Z, die Zahl 6 hat Wahrscheinlichkeit 1/2, alle anderen Zahlen Wahrscheinlichkeit 1/10 H(Z) 2.16 69
Entropie Entropie kann auch interpretiert werden als die mittlere Anzahl von Bits, die benötigt werden, um Werte der Zufallsvariable zu speichern oder zu kommunizieren Intuition: Wollen wir Ergebnisse von Würfen des gezinkten Würfels kommunizieren, macht es Sinn, ein kürzeres Codewort (d.h. weniger Bits) für das Ergebnis 6 zu verwenden, da es häufiger vorkommt 70
Bedingte Entropie Bedingte Entropie (conditional entropy) ist ein Maß des Informationsgehalts einer Zufallsvariablen X, wenn man den Wert einer zweiten Zufallsvariablen Y bereits kennt H(Y X) = ÿ P[X ] H(Y X = x) yœy,xœx Beispiel: fairer Würfel W, d.h. alle Zahlen mit Wahrscheinlichkeit 1/6 Zufallsvariable G {u, g} zeigt an, ob eine gerade oder eine ungerade Zahl gewürfelt wurde H(W G) =? 71
Bedingte Entropie Beispiel: fairer Würfel W, d.h. alle Zahlen mit Wahrscheinlichkeit 1/6 Zufallsvariable G {u, g} zeigt an, ob eine gerade oder eine ungerade Zahl gewürfelt wurde H(W G) = 1 2 H(W G = u)+1 2 H(W G = g) H(W G = u) = ( 1 3 log 1 2 3 + 0 log 2 0+ 1 3 log 2 + 0 log 2 0+ 1 3 log 1 2 3 + 0 log 2 0) 1.58 H(W G = g) 1.58 H(W G) 1.58 1 3 + W G P [W G] 1 u 1 6 1 g 0 2 u 0 2 g 1 6 3 u 1 6 3 g 0 4 u 0 4 g 1 6 5 u 1 6 5 g 0 6 u 0 6 g 1 6 72
Mutual Information Mutual Information (deutsch: Transinformation) misst die Abhängigkeit zwischen zwei Zufallsvariablen I(X, Y )= ÿ ÿ 3 4 P[x y ] P[x y ] log P[x ]P[y] xœx yœy und es gilt I(X, Y )=H(X) H(X Y )=H(Y ) H(Y X) Mutual Information kann als Informationsgewinn (information gain) interpretiert werden, den man durch Kenntnis der zweiten Zufallsvariable erlangt 73
Generieren von Entscheidungsbäumen Rekursive Generierung eines Entscheidungsbaums von der Wurzel zu den Blättern (top down) sind nur noch wenige Daten übrig oder gehören (fast) alle zur gleichen Klasse, dann erzeuge Blattknoten bestimme andernfalls das beste Split-Kriterium, teile die Daten entsprechend auf; erzeuge eine Knoten mit dem Split-Kriterium und einem linken und rechten Teilbaum, die durch Rekursion auf den beiden Teilen der Daten erzeugt werden 74
Generieren von Entscheidungsbäumen 1 Node decisiontree(data d) { 2 // Blattknoten, falls Daten rein 3 if (ispure(d)) { 4 return Leaf(majorityClass(d)); 5 } 6 7 // Bestimme bestes Split - Kriterium 8 Condition c = bestsplit(d); 9 10 // Teile Daten gemäß Split - Kriterium 11 Data ld, rd = split(d, c) 12 13 // Generiere Teilbäume 14 Node lc = decisiontree(ld); 15 Node rc = decisiontree(rd); 16 17 return new Node(c, lc, rc); 18 } 75
Split-Kriterien: Ordinale und metrische Merkmale Für ordinale und metrische Merkmale, auf denen eine Ordnung definiert ist, verwendet man ein Split-Kriterium x (i,j) <a mit einem zu bestimmenden Schwellwert a Zwar gibt es unendlich viele Werte für den Schwellwert a; bei der Bestimmung des besten Split-Kriteriums reicht es jedoch, die in den Daten vorkommenden Werte des Merkmals als mögliche Schwellwerte zu betrachten, damit sind alle möglichen Aufteilungen der Daten abgedeckt 76
Split-Kriterien: Nominale Merkmale Für nominale Merkmale (z.b. Geschlecht oder Farbe) wird eine Teilmenge der möglichen Werte A identifiziert; das Split-Kriterium ist dann x (i,j) œ A Zur Bestimmung des besten Split-Kriteriums, müssen alle Teilmengen, der in den Daten auftretenden Werte des Merkmals betrachtet werden; zwar sind dies exponentiell viele, aber nominale Merkmale haben oft nur wenige mögliche Werte 77
Auswahl des besten Split-Kriteriums Um das beste Split-Kriterium zu finden, müssen alle Merkmale und alle möglichen Split-Kriterien darauf betrachtet und bewertet werden Informationsgewinn (information gain) mit C als Klasse der Daten und S {l, r} als Seite gemäß Split-Kriterium I(C, S) =H(C) H(C S) Gini-Index misst Ungleichverteilung der Klassen in Daten G(D) =1 ÿ cœc P[c D ] 2 78
Ausputzen von Entscheidungsbäumen Führt man die rekursive Generierung durch, bis nur noch Datenpunkte einer Klasse in jedem Blatt enthalten sind, so erhält man einen tiefen Entscheidungsbaum, der zur Überanpassung (overfitting) an die Daten neigt Beende rekursive Generierung (ispure), sobald eine oder mehrere der folgenden Bedingungen erfüllt sind es sind nur noch weniger als minsize Datenpunkte übrig mehr als minpercentage Prozent der Datenpunkte gehören zur vorherrschenden Klasse (majorityclass) 79
Beispiel Entscheidungsbäume Beispiel: Risiko nach Alter und Fahrzeugtyps des Fahrers Alter Fahrzeugtyp Risiko 25 Sportwagen gering 20 Oldtimer hoch 25 Sportwagen gering 45 SUV hoch 20 Sportwagen hoch 25 SUV hoch Vollständiger Entscheidungsbaum mit Informationsgewinn als Gütemaß für Split-Kriterien soll erstellt werden 80
Beispiel Entscheidungsbäume Wurzel wird als Fahrzeugtyp = Sportwagen (S) bestimmt, der Informationsgewinn berechnet sich wie folgt H(Risiko) = 2 3 log 2 2 3 1 3 log 2 1 3 0.92 H(Risiko S) = 3 6 + 3 6 H(Risk Fahrzeug = Sportwagen) H(Risk Fahrzeug = Sportwagen) H(Risiko S) = 3 6 ( 2 3 log 2 + 3 6 ( 1 1 log 2 0.46 I(Risiko,S) 0.46 2 3 1 3 log 2 1 1 ) 1 3 ) 81
Beispiel Entscheidungsbäume yes fahrzeug = Spr no alter >= 22 hoch gering hoch Vollständige Berechnung vgl. Tafelanschrift 82
Entscheidungsbäume in R 1 library(rpart) 2 library(rpart.plot) 3 4 # Entscheidungsbaum bestimmen (mindestens 50 Datenpunkte pro innerem Knoten) 5 dtree <- rpart(herkunft Gewicht+PS+Hubraum+Verbrauch+Beschleunigung+Jahr+Zylinder, 6 data=autos, method=" class", parms=list( split=" information"), 7 control=rpart.control(minsplit=50)) 8 9 # Entscheidungsbaum plotten 10 prp(dtree, type=1, extra=104) 83
Entscheidungsbäume in R yes Hubraum < 3.1.17.20.62 100% no Hubraum < 2.2 Japan.31.36.34 57%.00.00 1.00 43% Verbrauc >= 7.7 Japan.37.41.22 42% Gewicht >= 1306.14.19.67 15% PS >= 88 Europa.50.27.23 23% Japan.20.59.20 19% Europa.47.24.29 4%.00.17.83 10% Japan.45.48.07 10% PS < 78 Europa.54.10.36 13% Europa.64.15.21 8%.35.00.65 4% 84
Interpretierbarkeit von Entscheidungsbäumen Interpretierbarkeit als Vorteil von Entscheidungsbäumen Jeder Pfad von der Wurzel zu einem Blattknoten entspricht einer Entscheidungsregel, wie (auch ungesehene) Datenpunkte zu klassifizieren sind Beispiel: hat ein Auto mehr als 3.1 Liter Hubraum, so kommt es aus hat ein Auto weniger als 2.2 Liter Hubraum und ein Gewicht weniger als 1251 kg, kommt es aus Japan yes Hubraum < 3.1 no Japan Hubraum < 2.2 Japan Gewicht >= 1251 Gewicht >= 1393 Europa Japan Europa 85
Zusammenfassung Informationstheorie stellt z.b. das Maß Entropie bereit, mit dem sich der Informationsgehalt messen lässt Entscheidungsbäume als diskriminatives Verfahren zur Klassifikation in zwei oder mehr Klassen, dessen Ergebnis als Entscheidungsregeln interpretierbar ist 86
Literatur [1] R. Kabacoff: R In Action, Manning 2015 [2] N. Zumel und J. Mount: Practical Data Science with R, Manning 2014 [3] M. J. Zaki und W. Meira Jr.: Data Mining and Analysis, Cambridge University Press, 2014 (Kapitel 19) http://www.dataminingbook.info [4] G. James, D. Witten, T. Hastie, R. Tibshirani: An Introduction to Statistical Learning - with Applications in R, Springer, 2015 (Kapitel 8) http://www-bcf.usc.edu/~gareth/isl/ 87