Entscheidungsbäume

Entscheidungswaldmodelle bestehen aus Entscheidungsbäumen. Entscheidungswald-Lernalgorithmen (z. B. Random Forests) beruhen zumindest teilweise auf dem Lernen von Entscheidungsbäumen.

In diesem Abschnitt des Kurses sehen Sie sich ein kleines Beispiel-Dataset an und erfahren, wie ein einzelner Entscheidungsbaum trainiert wird. In den nächsten Abschnitten erfahren Sie, wie Entscheidungsbäume kombiniert werden, um Entscheidungswälder zu trainieren.

YDF-Code

Verwenden Sie in YDF den CART-Lernalgorithmus, um einzelne Entscheidungsbaummodelle zu trainieren:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

Das Modell

Ein Entscheidungsbaum ist ein Modell, das aus einer Reihe von „Fragen“ besteht, die hierarchisch in Form eines Baums organisiert sind. Die Fragen werden in der Regel als Bedingung, Split oder Test bezeichnet. In diesem Kurs verwenden wir den Begriff „Bedingung“. Jeder Nicht-Blattknoten enthält eine Bedingung und jeder Blattknoten eine Vorhersage.

Botanische Bäume wachsen in der Regel mit der Wurzel unten; Entscheidungsbäume werden jedoch in der Regel mit der Wurzel (dem ersten Knoten) oben dargestellt.

Ein Entscheidungsbaum mit zwei Bedingungen und drei Blättern. Die erste Bedingung (Stamm) lautet „num_legs >= 3“ und die zweite Bedingung „num_eyes >= 3“. Die drei Blätter sind Pinguin, Spinne und Hund.

Abbildung 1. Ein einfacher Entscheidungsbaum für die Klassifizierung. Die grüne Legende ist nicht Teil des Entscheidungsbaums.

 

Die Inferenz eines Entscheidungsbaummodells wird berechnet, indem ein Beispiel gemäß den Bedingungen vom Stammknoten (oben) zu einem der Blattknoten (unten) weitergeleitet wird. Der Wert des erreichten Endknotens ist die Vorhersage des Entscheidungsbaums. Die Gruppe der besuchten Knoten wird als Inferenzpfad bezeichnet. Betrachten Sie beispielsweise die folgenden Feature-Werte:

num_legs num_eyes
4 2

Die Vorhersage wäre Hund. Der Inferenzpfad wäre:

  1. num_legs ≥ 3 → Ja
  2. num_eyes ≥ 3 → Nein

Dieselbe Abbildung wie in Abbildung 1, aber diese Abbildung zeigt den Inferenzpfad über zwei Bedingungen hinweg, der im Blatt für „Hund“ endet.

Abbildung 2. Der Inferenzpfad, der im Beispiel *{num_legs : 4, num_eyes : 2}* zum Blatt *dog* führt.

 

Im vorherigen Beispiel enthalten die Blätter des Entscheidungsbaums Klassifizierungsvorhersagen. Das heißt, jedes Blatt enthält eine Tierart aus einer Reihe möglicher Arten.

Ebenso können Entscheidungsbäume numerische Werte vorhersagen, indem Blätter mit regressiven Vorhersagen (numerische Werte) gekennzeichnet werden. Im folgenden Entscheidungsbaum wird beispielsweise eine numerische Niedlichkeitsbewertung eines Tieres zwischen 0 und 10 vorhergesagt.

Ein Entscheidungsbaum, in dem jedes Blatt eine andere Gleitkommazahl enthält.

Abbildung 3. Ein Entscheidungsbaum, der numerische Vorhersagen trifft.