Viele Algorithmen für maschinelles Lernen, zum Beispiel neuronale Netze, gehen davon aus, dass sie sich mit Zahlen befassen. Wenn Sie also kategoriale Daten haben, müssen Sie diese konvertieren. Mit kategorisch meine ich zum Beispiel:
Automarken: Audi, BMW, Chevrolet ... Benutzer-IDs: 1, 25, 26, 28 ...
Obwohl es sich bei den Benutzer-IDs um Zahlen handelt, handelt es sich nur um Bezeichnungen, und dies bedeutet nichts in Bezug auf Kontinuität wie Alter oder Geldsumme.
Der grundlegende Ansatz scheint also binäre Vektoren zu verwenden, um Kategorien zu codieren:
Audi: 1, 0, 0 ... BMW: 0, 1, 0 ... Chevrolet: 0, 0, 1 ...
Es ist in Ordnung, wenn es nur wenige Kategorien gibt, aber darüber hinaus sieht es ein bisschen ineffizient aus. Wenn Sie beispielsweise 10 000 Benutzer-IDs codieren müssen, sind es 10 000 Funktionen.
Die Frage ist, gibt es einen besseren Weg? Vielleicht eine mit Wahrscheinlichkeiten?
quelle
Antworten:
Sie können Ihre Benutzer-IDs immer als Wortsack behandeln: Die meisten Textklassifizierer können mit Hunderttausenden von Dimensionen umgehen, wenn die Daten dünn sind (viele Nullen, die Sie nicht explizit im Speicher speichern müssen, wenn Sie beispielsweise komprimierte, sparsame Zeilen verwenden) Darstellung für Ihre Datenmatrix).
Die Frage ist jedoch: Ist es sinnvoll, Benutzer-IDs als Features zu behandeln, wenn Sie ein bestimmtes Problem haben? Wäre es nicht sinnvoller, Ihre Beziehungsdaten zu denormalisieren und Benutzermerkmale (Alter, Ort, Zeichen des Online-Spitznamens, Transaktionsverlauf ...) anstelle ihrer IDs zu verwenden?
Sie können auch ein Clustering Ihrer unformatierten Benutzervektoren durchführen und statt der Benutzer-IDs die IDs der N nächstgelegenen Zentren als aktivierte Features für verwenden.
quelle
Gleichseitige Codierung ist wahrscheinlich das, wonach Sie suchen, wenn Sie versuchen, Klassen in ein neuronales Netzwerk zu codieren. Es funktioniert in der Regel besser als die "1 von n" -Codierung, auf die in anderen Posts verwiesen wird. Als Referenz kann ich vorschlagen: http://www.heatonresearch.com/wiki/Equilateral
quelle