Merkmalsbedeutung mit kategorialen Merkmalen mit hoher Kardinalität für die Regression (numerisch abhängige Variable)

12

Ich habe versucht, Feature-Wichtigkeiten aus zufälligen Wäldern zu verwenden, um eine empirische Feature-Auswahl für ein Regressionsproblem durchzuführen, bei dem alle Features kategorisch sind und viele von ihnen viele Ebenen haben (in der Größenordnung von 100-1000). Da bei der One-Hot-Codierung für jede Ebene eine Dummy-Variable erstellt wird, gelten die Feature-Wichtigkeiten für jede Ebene und nicht für jedes Feature (Spalte). Was ist ein guter Weg, um diese Funktionsbedeutungen zusammenzufassen?

Ich habe darüber nachgedacht, die durchschnittliche Bedeutung für alle Ebenen eines Features zu summieren oder zu ermitteln (wahrscheinlich wird die erstere auf Features mit mehr Ebenen ausgerichtet sein). Gibt es Referenzen zu diesem Thema?

Was kann man noch tun, um die Anzahl der Funktionen zu verringern? Ich bin mir der Gruppe Lasso bewusst, konnte nichts leichtes zum Scikit-Lernen finden.

user90772
quelle
Kann jemand die Frage beantworten, ob es sinnvoll ist, die Variablenbedeutung jeder Ebene der kategorialen Variablen zu summieren?
See24
@ see24 Nein, Sie können sie nicht einfach summieren: stats.stackexchange.com/questions/314567/…
Dan

Antworten:

5

Es hängt davon ab, wie Sie sie mit einem Hot-Coding codieren. Viele automatisierte Lösungen dafür benennen alle konvertierten Booleschen Werte mit einem Muster, sodass eine kategoriale Variable namens "Buchstabe" mit den Werten AZ wie folgt enden würde:

Buchstabe_A, Buchstabe_B, Buchstabe_C, Buchstabe_D, ....

Wenn Sie, nachdem Sie die Wichtigkeit von Merkmalen herausgefunden haben, ein Array von Merkmalen und das zugehörige Gewicht / die damit verbundene Wichtigkeit haben, würde ich das Array analysieren und möglicherweise die Gewichte der Merkmalswichtigkeiten für alles zusammenfassen, was mit "Buchstabe%" beginnt.

CalZ
quelle
3
Ist die Summe nicht ein Vorteil für Funktionen mit mehr Ebenen?
user90772
Hmm, guter Punkt. Fassen Sie es vielleicht zusammen und dividieren Sie es durch die Anzahl der Ebenen / One-Hot-codierten Variablen, um eine "durchschnittliche" Bedeutung zu erhalten.
CalZ
2
Ich habe noch etwas darüber nachgedacht und es hängt davon ab, wie die Wichtigkeit bewertet wird. In einigen Fällen ist der Wert für jedes Feature ein relatives Gewicht, bei dem der gesamte Satz 1 ergibt. In diesem Fall halte ich es für sinnvoll, die One-Hot-Features zusammenzufassen. Wenn die Punktzahl für das Merkmal eher einem Regressionskoeffizienten entspricht und nicht im Verhältnis zum Nettoeffekt gewichtet wird, wäre die Mittelwertbildung wahrscheinlich besser.
CalZ
Danke für Ihre Antwort. Angesichts der Tatsache, dass ich in diesem Bereich noch ziemlich neu bin, dachte ich, dass dies ein Standard für Leute in der Datenwissenschaft ist, aber entweder ist es nicht das, was ich tun sollte, um die Funktionsbedeutung einer Spalte zu bewerten, oder dieser Beitrag hat nicht genügend Ansichten erhalten. Auf jeden Fall danke!
user90772
1
Viele Leute befürworten, die Interna des Modells als Black Box zu betrachten und stattdessen die Leistung zu bewerten. In bestimmten Fällen (z. B. neuronale Netze) liegt dies daran, dass Sie es nicht wirklich gründlich untersuchen können. Bei einigen, bei denen Sie leicht einen Überblick darüber erhalten, welche Funktionen wichtig sind (z. B. lineare Regression), können Sie leicht irregeführt werden (siehe: stats.stackexchange.com/questions/105114/… ). Ich denke, deshalb scheuen die Leute manchmal, die Bedeutung einzelner Merkmale zu betrachten.
CalZ