Einige Vorhersagemodelltechniken sind eher für den Umgang mit kontinuierlichen Prädiktoren ausgelegt, während andere für den Umgang mit kategorialen oder diskreten Variablen besser geeignet sind. Natürlich gibt es Techniken, um einen Typ in einen anderen umzuwandeln (Diskretisierung, Dummy-Variablen usw.). Gibt es jedoch Vorhersagemodelltechniken, mit denen beide Eingabetypen gleichzeitig verarbeitet werden können, ohne dass lediglich die Art der Features geändert werden muss? Wenn ja, funktionieren diese Modellierungstechniken in der Regel besser für Daten, für die sie natürlicher sind?
Das Beste, was mir bekannt ist, ist, dass Entscheidungsbäume normalerweise gut mit diskreten Daten umgehen und kontinuierliche Daten verarbeiten, ohne dass eine vorherige Diskretisierung erforderlich ist . Dies ist jedoch nicht ganz das, wonach ich gesucht habe, da die Aufteilung auf fortlaufende Features effektiv nur eine Form der dynamischen Diskretisierung ist.
Als Referenz werden hier einige verwandte, nicht doppelte Fragen aufgeführt:
- Wie sollten Entscheidungsbaumaufteilungen implementiert werden, wenn kontinuierliche Variablen vorhergesagt werden?
- Kann ich multiple Regression verwenden, wenn ich kategoriale und kontinuierliche Prädiktoren gemischt habe?
- Ist es jemals sinnvoll, kategoriale Daten als fortlaufend zu behandeln?
- Kontinuierliche und kategoriale Analyse variabler Daten
quelle
Antworten:
Soweit mir bekannt ist und ich dieses Problem in der Vergangenheit eingehend untersucht habe, gibt es keine vorhersagenden Modellierungstechniken (neben Bäumen, XgBoost usw.), mit denen beide Eingabetypen gleichzeitig verarbeitet werden können, ohne einfach die zu transformieren Art der Funktionen.
Beachten Sie, dass Algorithmen wie Random Forest und XGBoost eine Eingabe von gemischten Features akzeptieren, jedoch eine gewisse Logik anwenden, um diese während der Aufteilung eines Knotens zu verarbeiten. Stellen Sie sicher, dass Sie die Logik "unter der Haube" verstehen und dass Sie mit dem, was in der Blackbox passiert, einverstanden sind.
Doch Abstand / kernel basierte Modelle (beispielsweise K-NN, NN Regression, Support - Vektor - Maschinen) verwendet werden Mischtyp Merkmalsraum zu handhaben, indem eine „spezielle“ Abstandsfunktion definieren. Auf diese Weise wird für jedes Feature eine geeignete Abstandsmetrik angewendet (z. B. berechnen wir für ein numerisches Feature den euklidischen Abstand von 2 Zahlen, während wir für ein kategoriales Feature einfach den Überlappungsabstand von 2 Zeichenfolgenwerten berechnen). Also, die Entfernung / Ähnlichkeit zwischen Benutzeru1 u2 fich d( u1, u2)fich= ( di s - c a t e go r i c a l ( u1, u2)fich fich d( u1, u2)fich= di s - n u m e r i c ( u1, u2)fich fich fich u1 u2
Einige bekannte Distanzfunktionen für kategoriale Merkmale:
Levenshtien Abstand (oder irgendeine Form von "Abstand bearbeiten")
Längste gemeinsame Teilsequenzmetrik
quelle
Ich weiß, es ist schon eine Weile her, dass diese Frage gestellt wurde, aber wenn Sie sich immer noch mit diesem Problem (oder ähnlichen) befassen, sollten Sie die Verwendung von generalisierten additiven Modellen (GAMs) in Betracht ziehen. Ich bin kein Experte, aber mit diesen Modellen können Sie verschiedene Modelle kombinieren, um eine einzige Vorhersage zu erstellen. Das Verfahren zum Ermitteln der Koeffizienten für die von Ihnen eingegebenen Modelle löst alle auf einmal, sodass Sie ein verallgemeinertes additives Modell senden können, das Ihr Lieblingsmodell für kategoriale Prädiktoren und Ihr Lieblingsmodell für kontinuierliche Prädiktoren darstellt, und ein einzelnes Modell erhalten, das RSS oder minimiert welches andere Fehlerkriterium Sie auch verwenden möchten.
Das einzige Softwarepaket, von dem ich weiß, dass es eine Implementierung von GAMs gibt, ist die Sprache R, aber ich bin mir sicher, dass es noch andere gibt.
quelle
Während die Diskretisierung fortlaufende Daten in diskrete Daten umwandelt, kann kaum gesagt werden, dass Dummy-Variablen kategoriale Daten in fortlaufende Daten umwandeln. Da Algorithmen auf Computern ausgeführt werden können, gibt es kaum einen Klassifizierungsalgorithmus, der kategoriale Daten NICHT in Dummy-Variablen umwandelt.
In demselben Sinne transformiert ein Klassifikator seine Prädiktoren letztendlich in eine diskrete Variable, die die Zugehörigkeit zu einer Klasse anzeigt (selbst wenn sie eine Klassenwahrscheinlichkeit ausgibt, wählen Sie letztendlich einen Cutoff). De facto funktionieren viele Klassifikatoren wie logistische Regression, zufällige Gesamtstruktur, Entscheidungsbäume und SVM mit beiden Datentypen einwandfrei.
Ich vermute, es wäre schwierig, einen Algorithmus zu finden, der mit kontinuierlichen Daten arbeitet, aber mit kategorialen Daten überhaupt nicht umgehen kann. Normalerweise finde ich, dass es mehr darauf ankommt, welche Art von Daten Sie auf der linken Seite Ihres Modells haben.
quelle
Dies ist eine tiefe philosophische Frage, die häufig sowohl vom statistischen als auch vom maschinellen Lernende aus angesprochen wird. Einige sagen, Kategorisierung sei besser für diskrete bis kategoriale Indikatoren, damit die Pakete die Modelleingaben leicht verdauen können. Andere sagen, dass Binning zu Informationsverlust führen kann, kategoriale Variablen jedoch in {1,0} Indikatorvariablen konvertiert werden können / müssen, wobei die letzte Klasse für die Modellreste ausgelassen wird.
Das Buch - Angewandte lineare Regression (Kutner et al.) Erwähnt in den ersten Kapiteln die Logik der Einführung von Indikatorvariablen in das Modell. Möglicherweise gibt es auch einen ähnlichen Text.
Mein Standpunkt dazu ist vielleicht etwas zu weit hergeholt: Wenn wir uns die kategorialen Variablen wie Blöcke in einem experimentellen Design vorstellen, ist die Indikatorvariable eine natürliche Erweiterung der nicht experimentellen Datenanalyse. In Bezug auf Data-Mining-Algorithmen (Entscheidungsbaumfamilien) ist eine Kategorisierung (entweder manuell oder automatisiert) unumgänglich, die dem Modell zugeführt werden muss.
Daher gibt es möglicherweise kein Modell, das auf die gleiche Weise auf numerische und kategoriale Variablen spezialisiert ist (ohne Binning-Numerisch oder Verwendung von Indikatoren-Kategorisch).
quelle