Menu
CoddyTech

Entscheidungsbaum

Lektion 17 von 19 im Kurs Einführung in maschinelles Lernen von Coddy.

Ein Entscheidungsbaum (Decision Tree) ist ein nicht-lineares Modell, das sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwendet wird. Er spiegelt die menschliche Entscheidungsfindung enger wider als andere Algorithmen, was ihn sowohl intuitiv als auch leistungsstark für den Umgang mit komplexen Datensätzen macht. Im Kern unterteilt ein Entscheidungsbaum die Daten mithilfe einer Reihe einfacher Regeln in Teilmengen, was dem Stellen einer Reihe von Ja/Nein-Fragen zu den Merkmalen der Datenpunkte ähnelt.
 

Quelle: Wikipedia

Stellen Sie sich einen Entscheidungsbaum als einen baumartigen Graphen vor, bei dem:

  • Jeder interne Knoten einen „Test“ eines Attributs darstellt (z. B. ob ein Münzwurf Kopf oder Zahl ergibt), 
  • Jeder Zweig das Ergebnis des Tests darstellt und
  • Jeder Blattknoten eine Klassenbezeichnung darstellt (Entscheidung, die nach der Berechnung aller Attribute getroffen wurde).

Arten von Entscheidungsbäumen:

  • Klassifizierungsbäume: Werden verwendet, wenn das vorhergesagte Ergebnis die Klasse ist, zu der die Daten gehören.
  • Regressionsbäume: Werden verwendet, wenn das vorhergesagte Ergebnis als reelle Zahl betrachtet werden kann (z. B. der Preis eines Hauses).


 

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

challenge icon

Aufgabe

Mittel

Erstellen Sie eine Funktion namens decide_outcome, die eine Liste von Regeln im folgenden Format erhält:

rules = {
	rule1: {"type": "bigger", "value": 5},
	rule2: {"type": "smaller", "value": 7},

}

Und sie erhält Informationen darüber, zu welcher Regel fortgefahren werden soll, wenn das Ergebnis erfüllt ist oder nicht:

outcome = {
	"rule1": {True: "rule2", False: "rule3"},
	"rule2": {True: "rule3", False: "rule4"},
	"rule3": {True: None, False: None}
	"rule4": {True: None, False: None}

}
data_point = {
	"rule1": 8,
	"rule2": 10,
}

Die Ausgabe sollte rule4 sein

  • 8 is bigger than 5 (True) → gehe zu rule2 aus diesem "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → gehe zu rule4 aus diesem "rule2": {True: "rule3", False: "rule4"},
  • Es gibt keine weiteren Möglichkeiten fortzufahren, daher ist die Ausgabe rule4

Beginnen Sie immer bei <strong>rule1</strong>

Probier es selbst

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Schreibe hier deinen Code

Alle Lektionen in Einführung in maschinelles Lernen

Übe selbstständig: Online-Python-Compiler