Kapitel ML: III (Fortsetzung)



Ähnliche Dokumente
Kapitel ML: III. III. Entscheidungsbäume. Repräsentation und Konstruktion Impurity-Funktionen Entscheidungsbaumalgorithmen Pruning

Splitting. Impurity. c 1. c 2. c 3. c 4

Decision Tree Learning

Moderne Methoden der KI: Maschinelles Lernen

4. Lernen von Entscheidungsbäumen

Entscheidungsbaum-Lernen: Übersicht

Kapitel 1: Motivation / Grundlagen Gliederung

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

3.3 Nächste-Nachbarn-Klassifikatoren

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

Entscheidungsbaum-Lernen: Übersicht

Randomisierte Algorithmen

Decision Trees* von Julia Heise, Philipp Thoms, Hans-Martin Wulfmeyer. *Entscheidungsbäume

Maschinelles Lernen: Symbolische Ansätze

4 Induktion von Regeln

Binary Decision Diagrams

Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten)

8 Konvergenzkriterien und Häufungswerte von Folgen in R

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

2. Lernen von Entscheidungsbäumen

Lösungskizze zu Übungsblatt 2 (Funktionentheorie und gewöhnliche Differentialgleichungen für Lehramt Gymnasium)

Entscheidungsbäume aus großen Datenbanken: SLIQ

fuzzy-entscheidungsbäume

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

Künstliche Intelligenz Maschinelles Lernen

Kapitel 4. Reihen 4.1. Definition und Beispiele

2. Übungstest. Motivation Überblick. Motivation für B-Bäume. B-Bäume. Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Konvergenz von Folgen

3 Reihen. 3.1 Konvergenz und Divergenz. Die Eindeutigkeit nach Satz 13 ergibt schließlich (5). (6) folgt aus (2) und (1) wegen. 1 a +log ba.

Übung zur Vorlesung Algorithmische Geometrie

Moderne Methoden der KI: Maschinelles Lernen

Die Korrelation von Merkmalen

2 Rationale und reelle Zahlen

8 Das Flussproblem für Netzwerke

13. Funktionen in einer Variablen

Der Alpha-Beta-Algorithmus

6. Planare Graphen und Färbungen

Classification and Regression Trees. Markus Müller

Kombinatorik. Dr. Lucia Draque Penso. Universität Ulm. Dr. Lucia Draque Penso (Universität Ulm) Kombinatorik 1 / 19

6.2 Die Regeln von de l Hospital. Ausgangsfrage: Wie berechnet man den Grenzwert. Beispiel: Sei f(x) = x 2 und g(x) = x. Dann gilt. lim.

Graphen und Bäume. A.1 Graphen

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren

KAPITEL 4. Posets Hasse Diagramm

Die reellen Zahlen als Äquivalenzklassen rationaler Cauchy-Folgen. Steven Klein

Data Mining - Wiederholung

Randomisierte Datenstrukturen

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Bäume Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Modellierung. Entscheidungsbäume, ume, Boosting, Metalerner, Random Forest. Wolfgang Konen Fachhochschule Köln Oktober 2007.

6. Induktives Beweisen - Themenübersicht

KAPITEL 6. Nichtlineare Ausgleichsrechnung

Deskriptive Statistik Kapitel IX - Kontingenzkoeffizient

Lineare Algebra II 5. Übungsblatt

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

Stetige Funktionen. Definition. Seien (X, d) und (Y, ϱ) metrische Räume und f : X Y eine Abbildung. D(f) X sei der Definitionsbereich von f.

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

Datenstrukturen & Algorithmen

Programmierung 1 - Repetitorium

Künstliche Intelligenz Maschinelles Lernen

Minimal spannende Bäume

Induktion von Entscheidungsbäumen

TESTEN VON HYPOTHESEN

Zählen perfekter Matchings in planaren Graphen

Nachbarschaft, Grad, regulär, Inzidenz

825 e 290 e 542 e 945 e 528 e 486 e 675 e 618 e 170 e 500 e 443 e 608 e. Zeichnen Sie das Box-Plot. Sind in dieser Stichprobe Ausreißer vorhanden?

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07

Vorkurs Mathematik. Übungen Teil IV

Lernmodul 7 Algorithmus von Dijkstra

8 Diskrete Optimierung

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

2. Vorlesung. Die Theorie der schwarz-weissen Ketten.

Einführung in die Theoretische Informatik

Mathematische Strukturen

Statistik II. Lineare Regressionsrechnung. Wiederholung Skript 2.8 und Ergänzungen (Schira: Kapitel 4) Statistik II

Kapitel 7: Optimalcodierung und Huffman Coding

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik

Multivariate lineare Regression. Statistik für SozialwissenschaftlerInnen II p.167

Anwendungsbeispiel MinHeap

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Transkript:

Kapitel ML: III (Fortsetzung) III. Entscheidungsbäume Repräsentation und Konstruktion Impurity-Funktionen Entscheidungsbaumalgorithmen Pruning ML: III-87 Decision Trees c STEIN/LETTMANN 2005-2011

Missklassifikationskosten beim Splitting Lemma 2 Für jedes induzierte Splitting D(t 1 ),...,D(t s ) einer Menge von Beispielen D(t) in einem Entscheidungsbaum T gilt: Err cost (t,d(t)) Err cost (t i,d(t i )), i {1,...,s} mit Gleichheit in dem Fall, dass allen Knoten t,t 1,...,t s dieselbe Klasse zugewiesen wird. ML: III-88 Decision Trees c STEIN/LETTMANN 2005-2011

Missklassifikationskosten beim Splitting Lemma 2 Für jedes induzierte Splitting D(t 1 ),...,D(t s ) einer Menge von Beispielen D(t) in einem Entscheidungsbaum T gilt: Err cost (t,d(t)) Err cost (t i,d(t i )), i {1,...,s} mit Gleichheit in dem Fall, dass allen Knoten t,t 1,...,t s dieselbe Klasse zugewiesen wird. Das Algorithmenschema DT -construct zur Konstruktion von Entscheidungsbäumen bevorzugt große Bäume, d.h. eine weitestmögliche Zerlegung der Menge D von Beispielen, und minimiert so die Missklassifikationskosten auf der Trainingsmenge. ML: III-89 Decision Trees c STEIN/LETTMANN 2005-2011

Missklassifikationskosten beim Splitting (Fortsetzung) Beweisidee: Err cost (t,d(t)) = min c C cost(c c) p(c t) p(t) c C = c C cost(label(t) c) p(c,t) = c C cost(label(t) c) (p(c,t 1 )+...+p(c,t ks )) = i {1,...,k s } c C cost(label(t) c) (p(c,t i ) Err cost (t,d(t)) i {1,...,k s } Err cost(t i,d(t i )) = ( ) cost(label(t) c) (p(c,t i ) min cost(c c) p(c,t i ) c C i {1,...,k s } c C c C Jeder Summand der rechten Seite ist größer als Null. ML: III-90 Decision Trees c STEIN/LETTMANN 2005-2011

Bemerkungen: Das Lemma gilt auch bei Verwendung des Missklassifikationsanteils als Gütemaß. ML: III-91 Decision Trees c STEIN/LETTMANN 2005-2011

Overfitting Definition 9 (Überanpassung (Overfitting) ) Sei D eine Menge von Beispielen und H ein Hypothesenraum. Dann stellt h H eine Überanpassung (Overfitting) von D dar, falls ein h H mit folgender Eigenschaft existiert: Err(h,D) < Err(h,D) und Err (h) > Err (h ) ML: III-92 Decision Trees c STEIN/LETTMANN 2005-2011

Overfitting Definition 9 (Überanpassung (Overfitting) ) Sei D eine Menge von Beispielen und H ein Hypothesenraum. Dann stellt h H eine Überanpassung (Overfitting) von D dar, falls ein h H mit folgender Eigenschaft existiert: Err(h,D) < Err(h,D) und Err (h) > Err (h ) Ursachen für Overfitting: D ist verrauscht D ist nicht repräsentativ ein zu kleines D täuscht nicht vorhandene Regelmäßigkeiten vor... ML: III-93 Decision Trees c STEIN/LETTMANN 2005-2011

Bemerkungen: Hierbei stellen Err(h,D) und Err (h) monoton steigende Funktionen in der Anzahl der mit einer Hypothese inkonsistenen Beispiele dar. ML: III-94 Decision Trees c STEIN/LETTMANN 2005-2011

Overfitting Err (h) kann mit Hilfe einer von der Trainingsmenge unabhängig gezogenen Validierungsmenge D V geschätzt werden: h H stellt eine Überanpassung (Overfitting) von D dar, falls ein h H mit folgender Eigenschaft existiert: Err(h,D) < Err(h,D) und Err(h,D V ) > Err(h,D V ) Feststellung von Overfitting erfordert weitere Aufteilung der Beispielmenge D: D = {(x 1,c(x 1 )),...,(x n,c(x n ))} X C ist eine Menge von Beispielen. D tr D Trainingsmenge zur Konstruktion des Entscheidungsbaumes mit DT -construct D V D Validierungsmenge zur Messung des Overfitting während des Pruning D ts D Testmenge zur Messung der Güte des Entscheidungsbaumes nach Pruning D tr,d V,D ts sind paarweise disjunkt. ML: III-95 Decision Trees c STEIN/LETTMANN 2005-2011

Overfitting 0.9 0.85 0.8 Accuracy 0.75 0.7 0.65 0.6 0.55 On training data On test data 0.5 0 10 20 30 40 50 60 70 80 90 100 Size of tree (number of nodes) [Mitchell 1997] ML: III-96 Decision Trees c STEIN/LETTMANN 2005-2011

Bemerkungen: Auf der Ordinate ist die Accuracy, also der Anteil der korrekt klassifizierten Beispiele während des Konstruktionsprozesses aufgetragen. Der Trainingsfehler Err(T, D) für den Entscheidungsbaum T fällt monoton bei Vergrößerung von T. Wann wird der Wert 0 erreicht? Wo ist Err(T,D) am genauesten in Bezug auf Err (T)? Der Missklassifikationsanteil Err(T,D V ) auf einer Testmenge D V hat ein lokales Minimum häufig bei relativ geringer Blattzahl. ML: III-97 Decision Trees c STEIN/LETTMANN 2005-2011

Overfitting Ansätze, um Overfitting entgegenzuwirken: 1. Beschränkung der Entscheidungsbaumkonstruktion während des Trainings 2. Verkleinerung (Pruning) von Entscheidungsbäumen nach dem Training Aufteilung der Menge D in Trainings-, Validierungs- und Testmenge (a) Reduced-Error-Pruning (b) Minimal Cost-Complexity Pruning (c) Rule-Post-Pruning statistische Tests (z. B. χ 2 ), um Generalisierbarkeit zu beurteilen heuristische Minimierung der Entscheidungsbaums ML: III-98 Decision Trees c STEIN/LETTMANN 2005-2011

Stopping Einfache Kriterien: Größe von D(t) Ein Knoten t wird nicht weiter zerlegt, wenn die Anzahl der Beispiele in D(t) zu gering ist: D(t) < β. Reinheit von D(t) Ein Knoten t wird nicht weiter zerlegt, wenn die Impurity nicht ausreichend reduziert werden kann: ι(d(t),{d(t 1 ),...,D(t s )}) < β für alle Splittings. Problem: Abbruch des Splitting mit kleinem β führt zu übergroßen Entscheidungsbäumen. Abbruch des Splitting mit großem β kann nützliche Splittings verhindern. ML: III-99 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning statt Stopping Idee: 1. Bilde einen ausreichend großen EntscheidungsbaumT max. 2. Beschneide T max auf die richtige Weise von Blättern in Richtung Wurzel. Wann ist T max groß genug? Aufbau von T max ist beendet, wenn jeder Blattknoten eine genügend kleine Teilmenge der Beispielmenge D repräsentiert oder nur Beispiele einer Klasse repräsentiert (Knoten ist pur) oder nur Beispiele mit identischen Merkmalsvektoren repräsentiert. ML: III-100 Decision Trees c STEIN/LETTMANN 2005-2011

Bemerkungen: Optimal für T max : genügend klein D(t) = 1 Kompromiss für T max : z.b. genügend klein D(t) 5 Der Trainingsfehler Err(T,D) ist als Schätzer für Err (T) ungeeignet wegen seiner Monotonie-Eigenschaft. Daher muss die richtige Größe des Entscheidungsbaums auf andere Weise bestimmt werden. ML: III-101 Decision Trees c STEIN/LETTMANN 2005-2011

Terminologie für Teilbäume Baum T mit Knoten t, Zweig T t, Resultat des Pruning von T t T T t t T \T t t t t bezeichnet den Teilbaum mit Wurzel t. ML: III-102 Decision Trees c STEIN/LETTMANN 2005-2011

Definition 10 (Pruning) Für einen Baum T mit innerem Knoten t besteht das Pruning des Zweiges T t aus der Entfernung aller Nachfolgerknoten von t und der durch diese Elimination betroffenen Kanten. Der so beschnittene Baum wird mit T \T t bezeichnet. Der Knoten t ist in T \T t ein Blattknoten. Definition 11 (Pruning-induzierte Ordnung) Entsteht ein Baum T durch (mehrfaches) Pruning aus einem Baum T, schreiben wir kurz T T. Die Relation bildet eine Halbordnung auf der Menge der Bäume. ML: III-103 Decision Trees c STEIN/LETTMANN 2005-2011

Definition 10 (Pruning) Für einen Baum T mit innerem Knoten t besteht das Pruning des Zweiges T t aus der Entfernung aller Nachfolgerknoten von t und der durch diese Elimination betroffenen Kanten. Der so beschnittene Baum wird mit T \T t bezeichnet. Der Knoten t ist in T \T t ein Blattknoten. Definition 11 (Pruning-induzierte Ordnung) Entsteht ein Baum T durch (mehrfaches) Pruning aus einem Baum T, schreiben wir kurz T T. Die Relation bildet eine Halbordnung auf der Menge der Bäume. Welches Maß kann die Güte der durch Pruning entstehenden Kandidaten bewerten? Problematik: Kandidaten-Teilbäume sind nicht angeordnet bzgl.. Gute Kandidaten-Teilbäume entstehen oft nicht durch wiederholtes Pruning von T max bei einem Greedy-Vorgehen. ML: III-104 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Validierungsmenge Sei D V eine fest gewählte Validierungsmenge. Reduced-Error-Pruning: 1. Pruning des Zweiges T t für einen inneren Knoten t. 2. label(t) ist die von DT -construct auf Basis von D(t) dem Knoten zugeordnete Klasse. 3. Falls Err(T,D V ) < Err(T \T t,d V ), Rücknahme der Ersetzung. 4. Weiter bei 1., bis alle Elternknoten der Blattknoten des aktuellen Entscheidungsbaums überprüft wurden. ML: III-105 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Validierungsmenge Sei D V eine fest gewählte Validierungsmenge. Reduced-Error-Pruning: 1. Pruning des Zweiges T t für einen inneren Knoten t. 2. label(t) ist die von DT -construct auf Basis von D(t) dem Knoten zugeordnete Klasse. 3. Falls Err(T,D V ) < Err(T \T t,d V ), Rücknahme der Ersetzung. 4. Weiter bei 1., bis alle Elternknoten der Blattknoten des aktuellen Entscheidungsbaums überprüft wurden. Nachteil: Ist D klein, so geht durch eine Aufteilung in Trainings- und Validierungsmenge wertvolle Information zur Konstruktion des Entscheidungsbaums verloren. Verbesserung: Rule-Post-Pruning ML: III-106 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Validierungsmenge 0.9 0.85 0.8 0.75 Accuracy 0.7 0.65 0.6 0.55 On training data On test data On test data (during pruning) 0.5 0 10 20 30 40 50 60 70 80 90 100 Size of tree (number of nodes) [Mitchell 1997] ML: III-107 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Maß für Kosten-Komplexität Einfache Idee: 1. Teile die von T max aus durch Pruning erreichbaren Teilbäume auf Teilmengen auf nach der Anzahl ihrer Blätter. 2. Wähle aus den Teilmengen jeweils einen Teilbaum T mit minimalem Wert für Err(T,D V ) als Kandidaten. ML: III-108 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Maß für Kosten-Komplexität Einfache Idee: 1. Teile die von T max aus durch Pruning erreichbaren Teilbäume auf Teilmengen auf nach der Anzahl ihrer Blätter. 2. Wähle aus den Teilmengen jeweils einen Teilbaum T mit minimalem Wert für Err(T,D V ) als Kandidaten. Definition 12 (Kostenkomplexität) Für einen Entscheidungsbaum T und eine Validierungsmenge D V wählen wir ein von Missklassifikationsanteil und leaves(t), also der Anzahl der Blattknoten in T, abhängiges Maß für die Komplexität (Complexity) von T. Für einen Komplexitätsparameter α R, α 0 bezeichnet die Kostenkomplexität von T. Err α (T,D V ) := Err(T,D V )+α leaves(t) ML: III-109 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Maß für Kosten-Komplexität (Fortsetzung) Definition 13 (kleinster minimierender Teilbaum) Ausgehend von einem Entscheidungsbaum T und einem Komplexitätsparameter α R,α 0 bezeichnen wir einen Baum T(α) T als kleinsten optimal beschnittenen (Optimally Pruned) Teilbaum von T für α, wenn er folgende Bedingungen erfüllt: 1. Err α (T(α),D) = min T T Err α (T,D) 2. Falls für einen Teilbaum T T gilt Err α (T(α),D) = Err α (T,D), so folgt T(α) T. ML: III-110 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Maß für Kosten-Komplexität (Fortsetzung) Lemma 3 Für jeden Baum T und jeden Komplexitätsparameter α R, α 0 existiert ein kleinster optimal beschnittener Teilbaum T(α) T. Beweis (Skizze) Induktion unter Verwendung von Err α (T(α),D) = min{err α (t,d), Err α (T L,D(T L ))+Err α (T R,D(T R ))} für t Wurzel von T sowie T L,T R als linker und rechter Teilbaum von t. ML: III-111 Decision Trees c STEIN/LETTMANN 2005-2011

Pruning mit Maß für Kosten-Komplexität (Fortsetzung) Beobachtung: T max Blattanzahl minimaler optimal beschnittener Teilbäume von Tmax { root } 0 α Fragen: Müssen alle Werte für α durchlaufen werden? Sind die Teilbäume geordnet? ML: III-112 Decision Trees c STEIN/LETTMANN 2005-2011

Weakest Link Pruning 1. Bestimmung von T 1 = T(α 1 ) mit α 1 = 0 ausgehend von T max. Wegen Err(T 1,D) = Err(T max,d) und Err(t,D(t)) Err(t L,D(t L ))+Err(t R,D(t R )) für innere Knoten t von T max mit Nachfolgern t L und t R schneide alle Blätter t L und t R ab, für die mit ihrem Vorgänger t gilt: Err(t,D(t )) = Err(t L,D(t L))+Err(t R,D(t R)) ML: III-113 Decision Trees c STEIN/LETTMANN 2005-2011

Weakest Link Pruning (Fortsetzung) 2. Bestimmung von T k+1 ausgehend von T k. Für jeden inneren Knoten t von T k gilt Err(t,D(t)) > Err(T t,d(t)). Wegen Err α ({t},d(t)) = Err(t,D(t))+α und Err α (T t,d(t)) = Err(T t,d(t))+α leaves(t t ) gilt damit Err α (T t,d(t)) < Err α ({t},d(t)) für genügend kleine Werte für α. Setze: g k (t) := { Err(t,D(t)) Err(Tt,D(t)) leaves(t t ) 1 für t innerer Knoten von T k + für t Blattknoten von T k α k+1 := min t T k g k (t) Die von t k = argmin t Tk g k (t) ausgehenden Kanten bezeichnet man als schwächste Kanten (weakest links) in T k. Durch Abschneiden dieser Zweige T tk (weakest link pruning) erhält man T k+1 = T(α 2 ). ML: III-114 Decision Trees c STEIN/LETTMANN 2005-2011

Weakest Link Pruning (Fortsetzung) 3. Bewertung der Teilbäume T k. Bestimme Err(T k,d V ) für alle Teilbäume T k und wähle den Teilbaum mit minimalem Fehler auf der ValidierungsmengeD V. ML: III-115 Decision Trees c STEIN/LETTMANN 2005-2011

Weakest Link Pruning (Fortsetzung) 3. Bewertung der Teilbäume T k. Bestimme Err(T k,d V ) für alle Teilbäume T k und wähle den Teilbaum mit minimalem Fehler auf der ValidierungsmengeD V. Satz 2 Die durch das Weakest Link Pruning erhaltene endliche Folge (α k ) ist streng monoton wachsend, d.h. α k < α k+1 für alle k und es gilt sowie T(α) = T(α k ) = T k für alle k und α k α < α k+1 T 1 T 2 T 3 T 4... {t} mit t Wurzel von T max. ML: III-116 Decision Trees c STEIN/LETTMANN 2005-2011

Bemerkungen: Schritt 1 und zwei werden mit der Trainingsmenge D für T max durchgeführt, Schritt 3 mit einer Validierungsmenge D V. Anstelle der Verwendung einer Validierungsmenge D V in Schritt 3. kann für die Bewertung der Teilbäume T k auch mit einer Kreuzvalidierung erfolgen. Dazu werden die Schritte 1. bis 3. zunächst für die gemäß der Kreuzvalidierung vorgesehenen Aufteilungen von D in Trainings- und Validierungsmenge vorgenommen. Es ergeben sich entsprechend viele Folgen von kleinsten optimal beschnittenen Teilbäumen. Die mit D ermittelten Bäume T k, die ja von α k bis α k+1 unverändert bleiben, werden bewertet mit dem Mittel des Missklassifikationsanteils der zum geometrischen Mittel αk α k+1 gehörenden kleinsten, optimal beschnittenen Teilbäume aus den Kreuzvalidierungsläufen. D 10...... 4 3 2 1 0 α ML: III-117 Decision Trees c STEIN/LETTMANN 2005-2011

Erweiterungen Berücksichtigung von Missklassifikationskosten beim Splitting Surrogate Splittings für fehlende Merkmalwerte Linearkombinationen von Merkmalen Regression Trees ML: III-118 Decision Trees c STEIN/LETTMANN 2005-2011