
Entscheidungsbäume (engl. Decision Trees)
Ein Entscheidungsbaum ist ein hierarchisches Modell, das zur Klassifikation und Regression verwendet wird. Er zerlegt die Daten in eine Baumstruktur, bestehend aus Entscheidungsknoten und Blättern. Jeder Entscheidungsknoten repräsentiert eine Frage oder Bedingung, die auf die Merkmale der Daten angewendet wird. Jedes Blatt entspricht einer Klasse oder einem numerischen Wert, der die Vorhersage darstellt.
Im Folgenden wird der Aufbau, der Trainingsprozess und die Vorhersage von Entscheidungsbäumen beschrieben:
Aufbau eines Entscheidungsbaums
Wurzelknoten: Der Wurzelknoten ist der oberste Knoten des Baums und stellt die erste Entscheidung dar. Hier wird die Eingabe anhand eines Merkmals geteilt.
Innere Knoten: Innere Knoten sind nachfolgende Entscheidungspunkte im Baum, die die Eingabe weiter aufteilen. Jeder innere Knoten stellt eine Bedingung auf einem bestimmten Merkmal dar.
Blätter: Blätter des Baums sind Endknoten, die die Vorhersage repräsentieren. Für Klassifikationsaufgaben entspricht jeder Blattklasse einer bestimmten Klasse. In Regressionsaufgaben entspricht das Blatt einem numerischen Wert.
Trainingsprozess eines Entscheidungsbaums
Der Trainingsprozess zielt darauf ab, den Entscheidungsbaum zu erstellen, der die Daten am besten repräsentiert. Dabei werden folgende Schritte durchgeführt:
Auswahl des besten Merkmals: In jedem Knoten wird das beste Merkmal ausgewählt, um die Daten zu teilen. Dies erfolgt anhand von Kriterien wie Gini-Unreinheit (für Klassifikation) oder dem mittleren quadratischen Fehler (für Regression).
Teilung der Daten: Die Daten werden anhand des ausgewählten Merkmals in Teilgruppen aufgeteilt. Angenommen, das ausgewählte Merkmal ist beispielsweise das "Alter" in einem Datensatz von Personen. Der Entscheidungsbaum würde nun die Daten in Gruppen aufteilen, basierend auf diesem Merkmal. Zum Beispiel könnten alle Personen über 30 Jahre in einer Gruppe und alle unter 30 Jahre in einer anderen Gruppe landen.
Rekursive Wiederholung: Dieser Prozess wird rekursiv für jede Teilgruppe fortgesetzt, bis eine Abbruchbedingung erreicht wird. Die Abbruchbedingung kann beispielsweise die maximale Tiefe des Baums oder die Mindestanzahl von Datenpunkten in einem Blatt sein.
Vorhersage mit Entscheidungsbäumen
Um eine Vorhersage für einen neuen Datenpunkt zu treffen, wird der Baum von der Wurzel bis zu einem Blatt durchlaufen. An jedem Knoten wird die entsprechende Bedingung ausgewertet, und je nach dem Ergebnis wird in den linken oder rechten Zweig des Baums verzweigt. Wenn ein Blatt erreicht wird, gibt es die Vorhersage aus.
Der vorliegende Code veranschaulicht die Anwendung eines Entscheidungsbaum-Klassifizierers auf den Iris-Datensatz, um Muster in den Daten zu erkennen und Vorhersagen für die Klassenzugehörigkeit von Blumen basierend auf ihren Petal-Merkmalen zu treffen.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
# Laden des Iris-Datensatzes
iris = load_iris()
# Trainingsdaten und -label definieren
# nur die Petal-Länge und -Breite verwenden
X, y = iris.data[:, 2:], iris.target
# Aufteilung des Datensatzes in Trainings- und Testdaten
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Entscheidungsbaum-Klassifizierer erstellen und trainieren
tree_clf = DecisionTreeClassifier(max_depth=3, random_state=42)
tree_clf.fit(X_train, y_train)
# Modellbewertung
accuracy = tree_clf.score(X_test, y_test)
In Abbildung 6 ist ein beispielhafter Entscheidungsbaum dargestellt. Anhand eines kleinen Beispiels wird hier nochmals die Entscheidungsfindung für einen neuen Wert dargestellt. Angenommen, ein neuer Datenpunkt mit dem Wert x = 5
soll mithilfe eines Entscheidungsbaumes eingeordnet werden. Um eine Vorhersage für diesen Datenpunkt zu treffen, wird der Entscheidungsbaum von der Wurzel bis zu einem Blatt durchlaufen.
Zuerst wird die Bedingung an der Wurzel:
x > 3
überprüft.Da
x = 5
größer als 3 ist, wird nach links zum nächsten Knoten weitergegangen.
An diesem Knoten wird die nächste Bedingung:
x > 4
überprüft.Da
x = 5
größer als 4 ist, wird erneut der linke Knoten gewählt.
An diesem Knoten gibt es keine weiteren Bedingungen und das "Blatt" wurde erreicht.
Die Vorhersage des Blattes für diesen Datenpunkt ist richtigerweise "5".
Mehr erfahren: Analytics Vidhya/Decision Tree – A Step-by-Step Guide, IBM/What is a decision tree?, Master's in Data Science/What Is a Decision Tree?
Last updated