Wie gehen Lernalgorithmen für Entscheidungsbäume mit fehlenden Werten um (unter der Haube)

21

Welche Methoden verwenden Entscheidungsbaum-Lernalgorithmen, um mit fehlenden Werten umzugehen?

Füllen sie einfach den Slot mit einem Wert namens missing aus?

Vielen Dank.

user1172468
quelle

Antworten:

24

Es gibt verschiedene Methoden, die von verschiedenen Entscheidungsbäumen verwendet werden. Das einfache Ignorieren der fehlenden Werte (wie ID3 und andere alte Algorithmen) oder das Behandeln der fehlenden Werte als eine andere Kategorie (im Falle eines nominalen Merkmals) sind keine echten Umgangsformen mit fehlenden Werten. Diese Ansätze wurden jedoch in den frühen Stadien der Entscheidungsbaumentwicklung verwendet.

Die reale Handhabung fehlender Daten verwendet keinen Datenpunkt mit fehlenden Werten bei der Auswertung eines Split. Wenn jedoch untergeordnete Knoten erstellt und trainiert werden, werden diese Instanzen auf irgendeine Weise verteilt.

Ich kenne die folgenden Ansätze zum Verteilen der Instanzen mit fehlenden Werten auf untergeordnete Knoten:

  • alles geht zu dem Knoten, der bereits die größte Anzahl von Instanzen hat (CART, ist nicht die primäre Regel)
  • Verteilen an alle untergeordneten Knoten, jedoch mit verringerter Gewichtung, proportional zur Anzahl der Instanzen von jedem untergeordneten Knoten (C45 und andere)
  • Zufällige Verteilung auf nur einen einzelnen untergeordneten Knoten, eventuell gemäß einer kategorialen Verteilung (Ich habe gesehen, dass in verschiedenen Implementierungen von C45 und CART für eine schnellere Laufzeit)
  • Surrogate erstellen, sortieren und verwenden, um Instanzen an einen untergeordneten Knoten zu verteilen, wobei Surrogate Eingabemerkmale sind, die am besten der Methode entsprechen, mit der die Testfunktion Dateninstanzen an den linken oder rechten untergeordneten Knoten sendet (CART, wenn dies fehlschlägt, wird die Mehrheitsregel verwendet)
rapaio
quelle