Frage

Ich habe eine Frage im Erdgeschoss, die ich gerne stellen würde. Ich betrachte verschiedene Optionen für Empfehlungsmotoren mit Spark. Ich habe das Gefühl, dass ich ein anständiges Verständnis für die Grundlagen der kollaborativen Filterung habe und die einfachen Beispiele von der replizieren konnten Funke Dokumente und Amplab. Ich möchte jedoch untersuchen, wie ein wirksames Produktempfehlungsalgorithmus mit implizitem Feedback erstellt wird, bei dem eine Fülle von Daten auf Benutzerebene verfügbar ist. Nehmen wir an, ich habe einen großen Datensatz mit einzelnen Benutzerattributen wie einer eindeutigen Benutzer -ID, einer Produkt -ID, den demografischen Daten der Benutzer, Benutzerverhaltensdaten usw. Was dieser Datensatz nicht enthält, ist eine explizite Bewertung, die der Benutzer dem Produkt angegeben hat. Ist es in Ermangelung dieses expliziten Feedbacks immer noch möglich, ein Empfehlungsmodell mit:

ALS.trainImplicit(ratings, rank, numIterations, alpha=0.01)

Darüber hinaus habe ich festgestellt, dass diese Aussage von der Spark -Website etwas nebulös ist: „Wenn die Bewertungsmatrix von anderen Informationsquellen abgeleitet wird (dh aus anderen Signalen abgeleitet), können Sie die trainImplitische Methode verwenden, um bessere Ergebnisse zu erzielen. ” Bedeutet dies, dass die große Tabelle aus meinem hypothetischen Beispiel verdichtet oder auf einen singulären Wert für das "Rang" -Argument in der trainimplititischen Funktion reduziert werden müsste? Ich habe überall hingeschaut, wo ich denken kann, kann aber kein zugängliches Beispiel finden, das beschreibt, wie dies erreicht werden würde. Wenn jemand eine gute Ressource kennt, lassen Sie es mich bitte wissen. Wenn jemand ein Codebeispiel anbietet, tun Sie dies bitte in Python, da dies meine bevorzugte Spark -API ist.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Implizite Feedback bedeutet lediglich, dass die Nullen angesichts eines Bewertungsdatensatzes als "Nichts bewertet" behandelt werden, im Gegensatz zu "dem Benutzer, der dies als Null bewertet". Der von ihnen verwendete Algorithmus basiert auf dem in dieses Papier. Der Code ist ziemlich schwer zu lesen, aber verfügbar hier.

Wenn Sie jedoch über binäre Produktauswahlvariablen verfügen (dh Benutzer A gewähltes Produkt B, jedoch nicht die tatsächlichen Bewertungen), könnte das implizite Training auch so funktionieren, auch wenn sie nicht ursprünglich dafür entwickelt wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top