Ich versuche, Benutzer mit Mahout zu bündeln und zu klassifizieren. Im Moment, in dem ich mich in der Planungsphase befinde, sind meine Gedanken völlig durchsetzt mit Ideen, und da ich relativ neu in diesem Bereich bin, stecke ich bei der Datenformatierung fest.User Profiling mit Mahout aus dem kategorisierten Benutzerverhalten
Nehmen wir an, wir haben zwei Datentabellen (groß genug). In der ersten Tabelle gibt es Benutzer und ihre Aktionen. Jeder Benutzer hat mindestens eine Aktion und sie können auch zu viele Aktionen haben. Ungefähr 10000 verschiedene user_actions und Millionen von Datensätzen sind in der Tabelle.
user - user_action
u1 - a
u2 - b
u3 - a
u1 - c
u2 - c
u2 - c
u1 - b
u4 - f
u4 - e
u1 - e
u1 - d
u5 - d
In der anderen Tabelle gibt es Aktionskategorien. Jede Aktion darf keine oder mehrere Kategorien haben. Es gibt 60 Kategorien.
user_action - category
a - cat1
b - cat2
c - cat1
d - NULL
e - cat1, cat3
f - cat4
Ich werde versuchen, ein Benutzerklassifikationsmodell mit Mahout zu bauen, aber ich habe keine Ahnung, was ich tun soll. Welche Art von Benutzervektoren sollte ich erstellen? Oder brauche ich wirklich Benutzervektoren?
Ich denke, ich muss etwas wie erstellen;
u1 (a, c, b, e, d)
u2 (b, c, c)
u3 (a)
u4 (f, e)
u5()
Problem hier durchgeführt, einige Nutzer mehr als 100.000 Aktionen (einige von ihnen sind die gleichen Aktionen)
So; das ist nützlicher, denke ich;
u1 (cat1, cat1, cat2, cat1, cat3)
u2 (cat2, cat1, cat1)
u3 (cat1)
u4 (cat4, cat1, cat3)
u5()
Die Dinge, die ich auch zu befürchten sind
- Wie soll ich Kategorien Gewicht für die Nutzer? Zum Beispiel hat u1 mindestens drei Aktionen, die sich auf cat1 beziehen, während u3 nur 1 hat. Diese sollte anders sein?
- Wie kann ich den Unterschied zwischen aktiven und passiven Benutzern verringern? Wie u1 hat zu viele Aktionen und so Kategorien, u3 hat nur 1.
Alle Leitlinien sind willkommen.