Spark MLlib - Collaborative Filtering Impliziter Feed

9

Also baue ich ein implizites Feedback-Empfehlungsmodell mit Spark 1.0.0 und versuche, dem Beispiel zu folgen, das sie auf ihrer kollaborativen Filterseite haben: Ссылка

Und ich habe sogar das Test-Dataset geladen, auf das sie im Beispiel verweisen: Ссылка

Wenn ich jedoch versuche, das implizite Feedback-Modell auszuführen:     Val Alpha = 0,01     val model = ALS.trainImplicit (Bewertungen, Rang, numIterations, Alpha)

(die Bewertungen waren die Bewertungen genau aus ihrem Datensatz und Rang = 10, numIterations = 20) Ich erhalte den folgenden Fehler:

%Vor%

Interessanterweise läuft dieses Modell gut, wenn Sie nicht trainImplicit (d. h. ALS.train)

machen     
atellez 03.09.2014, 16:34
quelle

1 Antwort

4

Das Beispiel scheint mit der Implementierung nicht synchron zu sein, da es keine Überladung von trainImplicit mit vier Parametern gibt - was die Fehlermeldung Ihnen sagt. Allerdings, wenn Sie sich die Scala-Quellcode für ALS Sie werden sehen, dass die drei Parameter-Überladung in Form der sechs Parameter-Überladung über einige "magische Zahlen" implementiert wird:

%Vor%

Dies deutet darauf hin, dass 0,01 ein anständiger Standardwert für Lambda ist. (Vielleicht ist es gut, jemanden zu Rate zu ziehen, der ein tiefergehendes Verständnis von ML hat.) Dies kann Ihnen genügend Informationen geben, um einen vernünftigen Aufruf zu der Überlastung mit fünf oder sechs Parametern zusammenzustellen. (Natürlich, wenn Sie genug wissen, um bessere Werte zu wählen, das ist großartig!)

Zum Beispiel:

%Vor%

oder

%Vor%

Schließlich können Sie nicht erkennen, dass es ziemlich anständig ist API-Dokumentation für ALS .

    
Spiro Michaylov 03.09.2014, 19:35
quelle