Entscheidungsbäume

Entscheidungsstruktur-Modelle bestehen aus Entscheidungsbäumen. Algorithmen für das Lernen im Wald (z. B. Random Forests) basieren zumindest zum Teil auf dem Lernen von Entscheidungsbäumen.

In diesem Abschnitt des Kurses untersuchen Sie ein kleines Beispiel-Dataset und erfahren, wie ein einzelner Entscheidungsbaum trainiert wird. In den nächsten Abschnitten erfahren Sie, wie Entscheidungsbäume zum Trainieren von Entscheidungsstrukturen kombiniert werden.

YDF-Code

Verwenden Sie in YDF den CART-Learner, 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 Sammlung von „Fragen“ besteht, die hierarchisch in Form eines Baums organisiert sind. Die Fragen werden in der Regel als Bedingung, Split oder Test bezeichnet. In dieser Klasse verwenden wir den Begriff „condition“. Jeder Nicht-Blattknoten enthält eine Bedingung und jeder Blattknoten enthält eine Vorhersage.

Botanische Bäume wachsen in der Regel mit der Wurzel am unteren Rand. 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 (die Stammbedingung) ist num_legs >= 3; die zweite Bedingung ist num_eyes >= 3. Die drei Blätter sind Pinguin,
Spinne und Hund.

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

 

Die Inferenz eines Entscheidungsbaummodells wird berechnet, indem ein Beispiel gemäß den Bedingungen vom Stamm (oben) zu einem der Blattknoten (unten) weitergeleitet wird. Der Wert des erreichten Blatts ist die Vorhersage des Entscheidungsbaums. Diese Gruppe von Knoten wird als Inferenzpfad bezeichnet. Betrachten Sie zum Beispiel die folgenden Featurewerte:

num_legs num_eyes
4 2

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

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

Die gleiche Abbildung wie in Abbildung 1, aber die Abbildung zeigt den Ableitungspfad über zwei Bedingungen und endet mit dem Blatt für Hund.

Abbildung 2. Der Inferenzpfad, der im Blatt *dog* im Beispiel *{num_legs : 4, num_eyes : 2}* endet.

 

Im vorherigen Beispiel enthalten die Blätter des Entscheidungsbaums Klassifizierungsvorhersagen. Jedes Blatt enthält also eine Tierart aus einer Reihe möglicher Arten.

In ähnlicher Weise können Entscheidungsbäume numerische Werte vorhersagen, indem sie Blätter mit regressiven Vorhersagen (numerische Werte) kennzeichnen. Der folgende Entscheidungsbaum sagt beispielsweise einen numerischen Niedlichkeitswert für ein Tier zwischen 0 und 10 voraus.

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

Abbildung 3. Ein Entscheidungsbaum, der numerische Vorhersagen trifft.