Apache Spark ALS Ergebnisse der kollaborativen Filterung. Sie machen keinen Sinn

Ich wollte Spark für die kollaborative Filterung mit MLlib ausprobieren, wie in diesem Tutorial erläutert:https: //databricks-training.s3.amazonaws.com/movie-empfehlung-mit-mllib.htm Der Algorithmus basiert auf dem Artikel "Collaborative Filtering for Implicit Feedback Datasets" (Kollaborative Filterung für implizite Rückkopplungsdatensätze) und führt die Matrixfaktorisierung durch.

Alles läuft mit dem 10 Millionen Movielens-Datensatz. Der Datensatz wurde in 80% Training, 10% Test und 10% Validierung aufgeteilt.

RMSE Baseline: 1.060505464225402RMSE (Zug) = 0,7697248827452756RMSE (Validierung) = 0,8057135933012889 für das mit Rang = 24, Lambda = 0,1 und Iterationen = 10 trainierte Modell.Das beste Modell verbessert die Basislinie um 23,94%.

Welche Werte ähneln denen des Tutorials, obwohl sie unterschiedliche Trainingsparameter haben.

Ich habe mehrmals versucht, den Algorithmus auszuführen, und habe immer Empfehlungen erhalten, die für mich keinen Sinn ergeben. Auch wenn ich nur Kinderfilme bewerte, erhalte ich die folgenden Ergebnisse:

Für Bewertungen:

personal rating: Toy Story (1995) rating: 4.0personal rating: Jungle Book, The (1994) rating: 5.0personal rating: Lion King, The (1994) rating: 5.0personal rating: Mary Poppins (1964) rating: 4.0personal rating: Alice im Wunderland (1951) rating: 5.0

Ergebnisse

Filme für Sie empfohlen:

as Leben von Oharu (Saikaku ichidai onna) (195More (1998) Wer singt da drüben? (a.k.a. Wer dort drüben singt) (Ko to tamo peva) (1980)onntag und Cybele (Dimanches de Ville d'Avray, Les) (196as Blaue Licht (193 Zeiten von Harvey Milk, The (1984)Bitte stimme für mich ab (2007)ann, der Bäume gepflanzt hat (Homme qui plantait des arbres, L ') (198Shawshank Redemption, The (1994)Nur gestern (Omohide poro poro) (1991)

Was außer Only Yesterday keinen Sinn ergibt.

Wenn es jemanden gibt, der weiß, wie man diese Ergebnisse interpretiert oder verbessert, würde ich es begrüßen, wenn Sie Ihr Wissen teilen.

Freundliche Grüß

BEARBEITEN

Wie vorgeschlagen, habe ich ein anderes Modell mit mehr Faktoren trainiert:

Baseline error: 1.0587417035872992RMSE (Zug) = 0,7679883378412548RMSE (Validierung) = 0,8070339258049574 für das mit Rang = 100, Lambda = 0,1 und Zahl = 10 trainierte Modell.

Und verschiedene persönliche Bewertungen:

personal rating: Star Wars: Episode VI - Rückkehr der Jedi (1983) rating: 5.0personal rating: Mission: Impossible (1996) rating: 4.0personal rating: Die Hard: With a Vengeance (1995) rating: 4.0personal rating: Batman Forever (1995) rating: 5.0personal rating: Men in Black (1997) rating: 4.0personal rating: Terminator 2: Judgement Day (1991) rating: 4.0personal rating: Top Gun (1986) rating: 4.0personal rating: Star Wars: Episode V - Das Imperium schlägt zurück (1980) rating: 3.0personal rating: Alien (1979) rating: 4.0

Die empfohlenen Filme sind:

Filme für Sie empfohlen:

Carmen (1983)Silent Light (Stellet licht) (2007)esus (197as Leben von Oharu (Saikaku ichidai onna) (195Heart of America (2003)Für die Bibel sagt mir so (2007)More (1998)Legend of Leigh Bowery, The (2002)Funeral, The (Ososhiki) (1984)Longshots, The (2008)

Nicht ein nützliches Ergebnis.

EDIT2: Mit der impliziten Rückkopplungsmethode erhalte ich viel bessere Ergebnisse! Mit den gleichen Actionfilmen wie oben lauten die Empfehlungen:

Filme für Sie empfohlen:

Star Wars: Episode IV - Eine neue Hoffnung (a.k.a. Star Wars) (1977)Terminator, The (1984)äuber der verlorenen Arche (Indiana Jones und die Räuber der verlorenen Arche) (198Die Hard (1988)Godfather, The (1972)Aliens (1986)Rock, The (1996)Independence Day (a.k.a. ID4) (1996)Star Trek II: Der Zorn des Khan (1982)GoldenEye (1995)

Das ist mehr was ich erwartet habe! Die Frage ist, warum die explizite Version so schlecht ist

Antworten auf die Frage(4)

Ihre Antwort auf die Frage