0

An einem Knoten, für kategorische Features, versuche ich derzeit alle (2^m -2)/2 Möglichkeiten, die m verschiedene Werte des Features in zwei Gruppen zu teilen. Alle Samples mit demselben Wert für ein Feature werden zusammen als Gruppe verschoben, wenn dieses Feature berücksichtigt wird.Strategien zum Umgang mit kategorialen Merkmalen für Entscheidungsbäume?

Das Problem ist, wenn m 35 (Länder zum Beispiel) ist, werde ich 17 Trillion Splits versuchen müssen.

Gibt es alternative Möglichkeiten, kategorische Funktionen zu behandeln?

+1

Suche nach "Partitionierung nominaler Attribute in Entscheidungsbäumen" von Don Coppersmith et al. (Ja, das ist _the_ [Don Coppersmith] (https://en.wikipedia.org/wiki/Don_Coppersmith). :-) – blazs

Antwort

0

http://uk.mathworks.com/help/stats/splitting-categorical-predictors-for-multiclass-classification.html?s_tid=gn_loc_drop beschreibt dieses Problem sehr genau. Kurz:

  • wenn dies eine binäre Klassifizierung Problem, bestellen Sie die m-Werte entsprechend der durchschnittlichen Antwort für diese Kategorie, dann versuchen, die m-1 Möglichkeiten, um diese Sequenz zu spalten.

  • ansonsten beschreibt der Link nur Heuristiken, einschließlich der von Coppersmith, Hong und Hosking. Ein klassisches ist die Verdummung: Probieren Sie einfach m Splits aus, die jeweils aus einem Wert für den rechten Zweig und m-1 Werten für den linken Zweig bestehen.

+0

Ja, ich mache eine binäre Klassifizierung. Ich verstehe nicht ganz, was das bedeutet "Der Baum kann die Kategorien nach mittlerer Antwort (für Regression) oder Klassenwahrscheinlichkeit für eine der Klassen (zur Klassifizierung) ordnen. Dann ist die optimale Aufteilung eine der L - 1 Aufteilungen für die geordnete Liste. " Da ich keine Regression mache, ordne ich die m-Werte nach der Klassenwahrscheinlichkeit an. Was ist das und wie berechne ich eine solche Wahrscheinlichkeit? – Jobs

+0

Können Sie näher erläutern, was das bedeutet: "Ordne die m-Werte entsprechend der durchschnittlichen Antwort für diese Kategorie an"? – Jobs

+1

Für die binäre Klassifizierung kann die Antwort als 0 oder 1 codiert werden. Berechnen Sie für jeden der m-Werte den Durchschnitt der Antwort für alle Stichproben, für die das Merkmal diesen Wert verwendet. Dies ist ein echtes in [0,1]. Ordne die m-Werte nach diesen Realen. – jrouquie

Verwandte Themen