Entscheidungsbäume sind ein beliebtes Verfahren für Klassifikationsaufgaben im maschinellen Lernen. Sie zeichnen sich durch ihre einfache Interpretierbarkeit und Visualisierung aus, wodurch sie auch für Nicht-Experten leicht verständlich sind
Funktionsweise von Entscheidungsbäumen
Ein Entscheidungsbaum wird in Form eines Baumdiagramms darstellt.
- An jedem Knoten wird eine Frage zu einem Merkaml des Datensatzes gestellt
- Je nach Antwort wird der Datensatz in Teilmenge aufgeteilt und zu den entsprechenden Folgeknoten weitergeleitet
- Wiederhole 1. und 2. solange, bis ein Blatt des Baumes erreicht ist
- Das Blatt enthält die finale Klassifizierung des Datensatzs
Bäume aus Trainingsdaten erstellen
- Zur automatischen Erstellung von Bäumen braucht man ein Maß für die Homogenität einer Menge
- Der ID3-Algorithmus ist ein bekanntes Verfahren, um Entscheidungsbäume automatisch aus Trainingsdaten zu erstellen.
- ID3 nutzt die Shannon’sche Informationsentropie
- Die Entropie ist ein statistisches Maß für die Unordnung in einem zufallsexperiment.
Idee
Man wirft alle Datensätze in einen Los-Topf, zieht einen davon raus und schaut, zu welcher Klasse er gehöhrt.
- Je sicherer das Ergebnis vorhergesagt werden kann, desto geringer ist die Verblüffung, wenn es tatsächlich eintritt.
Bäume aus Lerndaten erstellen
- Shannon definiert den Informationsgehalt , für das die Wahrscheinlichkeit eines Ereignisses ist, gilt
- ist größer, je weinger das Ereignis vorhersehbar ist.
Das sichere sowie unmögliche Ereignis haben daher jeweils keinen Informationsgehalt.
Entropie berechnen
Wird der Informationsgehalt für alle möglichen Ausgängen aufsummiert, erhält man die Entropie.
- Die Entropie ist ein Maß für den mittleren Informationsgehalt eines Zufallsexpermients
Entropie Formel
- Entropie
- Zufallsexperments
- Mögliche Ausgänge
- Je größer die Entropie ist, desto größer ist die Gleichheit innerhalb der Wahrscheinlichkeit
Vor- und Nachteile von Entscheidungsbäume
Vorteile
- Interpretierbarkeit (sehr gut nachvollziebar →verfolgen, welcher Weg ein Datensatz durch den Baum gegangen ist)
- Effizent (Die Berechnung sind schnell und einfach)
- Graphische Visualisierung
Nachteile
- Überanpassungen an die Datensätze
- Mit Trennebenen sind Daten mit komplexen Entscheidungsgrenzen schlecht nachzubilden.
Entscheidungsbäume in Python
Klassifikator trainieren und bewerten
from sklearn.tree import DesisionTreeClassifier
model = DesisionTreeClassifier(criterion='entropy') # Entropie als Maß verwenden
model.fit(X_train, y_train)
print(model.score(X_test, y_test)) # Bei Klassifikatoren berechnet score die Trefferquote
Vorhersage machen
Mit dem traininerten Modell können jetzt Vorhersagen für bisher unbekannten Werte gemacht werden.
import numpy as np
# z.B. man möchte wissen, ob mit 830 bar Druck und 200 °C ein Gutteil produziert wurde.
X_wert = npp.array([[430, 240]]) # Eingabedaten in das richtige Format bringen
ergebnis = model.predict(X_wert) # Vorhersage machen mit predict
print(ergebnis[0])
Visualisierung
Mit der Funktion **plot_classifier können die Entscheidungsgrenzen visualisiert werden.
# Trainings-Daten plotten
plot_classifier(model, X_train, y_train, proba = False,
xLabel = "Druck", ylabel = "Temperatur", cmapName = "bwr")
die Miniabschnitte, die sich nicht im Bereich ihrer Klasse befinden, werden in den Testdaten nicht wiedergefunden.
Es handelt sich um Ausreißer
Durch die Brücksichtigung dieser Ausreißer wurde das Modell unnötig komplex (“Überanpassung”)
Baum darstellen
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
plot_treee(model)
plot.show()
Für bessere Lesbarkeit
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
plot_treee(model,
feature_names = ["Druck", "Temperatur"],
class_names = ["gut", "schlecht"],
filled = True,
rounded = True
)
plot.show()
Entscheidungsbäume beschränken
Um Überanpassung zu reduzieren, können die Entscheidungsgrenzen durch die Reduktion der Tiefer beschräntk werden.
- Man kann festlegen, wie viele Trainingsdaten in einnem Blattknoten landen soll. z.B.
from sklearn.tree import DesisionTreeClassifier
model = DesisionTreeClassifier(criterion='entropy', max_depth = 4,
min_samples_leaf = 3) # In jedem Blattknoten müssen mindestens drei Trainingsdaten landen
- Damit kann vermieden werden, dass es zu Überanpassung kommt, da mindestens drei Trainingdsdaten in einem Blattknoten sein soll.
Quiz Entscheidungsbäume
Frage 1: Was ist die Grundidee hinter Entscheidungsbäumen?
a) Einen Datensatz anhand eines Entscheidungsfindungsprozesses in Teilmengen aufteilen
b) Einen Datensatz mithilfe statistischer Methoden in Gruppen einteilen
c) Die Wahrscheinlichkeit eines Ereignisses anhand von Trainingsdaten vorhersagen
d) Die Beziehung zwischen zwei Variablen grafisch darstellenLösung
a)
Einen Datensatz anhand eines Entscheidungsfindungsprozesses in Teilmengen aufteilen
Erläuterung: Entscheidungsbäume teilen Daten systematisch auf, basierend auf den Werten der Merkmale.
Frage 2: Welches Maß verwendet der ID3-Algorithmus, um die Homogenität der Teilmengen zu bewerten?
a) Varianz
b) Standardabweichung
c) Informationsentropie
d) BestimmtheitsmaßLösung
c)
Informationsentropie
Erläuterung: Der ID3-Algorithmus nutzt die Shannon’sche Informationsentropie, um die Qualität der Aufteilung zu bewerten.
Frage 3: Was ist ein Vorteil von Entscheidungsbäumen im Vergleich zu anderen Klassifikationsverfahren?
a) Sie sind robuster gegenüber Ausreißern
b) Sie können komplexe nichtlineare Zusammenhänge modellieren
c) Die Entscheidungsfindung ist leicht nachvollziehbar und visualisierbar
d) Sie benötigen weniger TrainingsdatenLösung
c)
Die Entscheidungsfindung ist leicht nachvollziehbar und visualisierbar
Erläuterung: Entscheidungsbäume sind gut interpretierbar und können einfach visualisiert werden.
Frage 4: Was versteht man unter Überanpassung bei Entscheidungsbäumen?
a) Der Baum ist zu komplex und modelliert die Trainingsdaten zu genau, was zu schlechter Generalisierung auf neue Daten führt
b) Der Baum ist zu einfach und kann die Zusammenhänge in den Daten nicht ausreichend erfassen
c) Die Trainingsdaten sind nicht repräsentativ für die Grundgesamtheit
d) Der Baum verwendet zu viele Merkmale (Features) zur KlassifizierungLösung
a)
Der Baum ist zu komplex und modelliert die Trainingsdaten zu genau, was zu schlechter Generalisierung auf neue Daten führt
Erläuterung: Überanpassung tritt auf, wenn der Baum zu viele Details der Trainingsdaten abbildet.
Frage 5: Welche Maßnahme kann ergriffen werden, um Überanpassung bei Entscheidungsbäumen zu vermeiden?
a) Erhöhung der Lernrate
b) Verwendung eines polynomialen Kernels
c) Begrenzung der maximalen Baumtiefe
d) Anwendung von One-Hot EncodingLösung
c)
Begrenzung der maximalen Baumtiefe
Erläuterung: Eine Begrenzung der Baumtiefe verringert die Komplexität des Modells und hilft, Überanpassung zu vermeiden.
Frage 6: Wofür steht die Abkürzung ID3 im Zusammenhang mit Entscheidungsbäumen?
a) Iterative Dichotomiser 3
b) Intelligent Decisioning 3
c) Integrated Data Divider 3
d) Inductive Decision Tree 3Lösung
a)
Iterative Dichotomiser 3
Erläuterung: ID3 ist ein Algorithmus zur Erstellung von Entscheidungsbäumen und basiert auf Informationsgewinn.
Frage 7: Was ist KEIN typischer Anwendungsfall für Entscheidungsbäume?
a) Spam-Filterung
b) Bildverarbeitung
c) Medizinische Diagnose
d) KreditrisikobewertungLösung
b)
Bildverarbeitung
Erläuterung: Entscheidungsbäume sind für tabellarische Daten geeignet, jedoch weniger effektiv in Bereichen wie der Bildverarbeitung, die spezialisierte Algorithmen wie CNNs erfordern.