ich das documentation example nach einem Empfehlungssystem , Konstruktor Im Erstellen von ALS alle feinenEmpfehlung System mit Funken ml
val als = new ALS()
.setMaxIter(maxIterations)
.setRegParam(regressionParam)
.setUserCol("user_id")
.setItemCol("item_id")
.setRatingCol("rating")
val model = als.fit(trainData)
val predictions = model.transform(testData)
println("predictions"+predictions.show(80))
val evaluator = new RegressionEvaluator()
.setMetricName("rmse")
.setLabelCol("rating")
.setPredictionCol("prediction")
val rmse = evaluator.evaluate(predictions)
println(s"Root-mean-square error = $rmse")
predictions
ich das Modell trainieren zu bauen, alles eingerichtet, aber hier mein Hauptproblem ist, dass ich kann mit Testdaten voraussagen, die den Prädiktionsfaktor für jede Item-ID zurückliefern, aber ich brauche tatsächlich, dass das Modell mir Items von einer user_id vorschlagen kann, die nicht vorhersagen, wie passend eine Item-ID sein kann, indem man eine Vorhersagespalte hinzufügt. kann org.apache.spark.ml.recommendation.ALS dies tun?
ok gut umgesetzt werden wissen! Eine andere Sache, die ich ML neuartig bin, warum ist es schlecht, mit den gleichen Daten zu trainieren und zu testen? –
Das Modell kann die Testdaten überarbeiten, was bedeutet, dass es die Werte im Test-Dataset perfekt vorhersagt, aber wenn Sie das Dataset ändern, werden die Vorhersagen sehr schlecht sein. Durch die Verwendung von zwei separaten Datensätzen können wir eine Überanpassung vermeiden –
ok danke! Letzte Sache, wenn ich es wie im Beispiel mache, habe ich Trainingstestdaten wie diese user_id | item_id | Ich bewerte das Problem damit, dass das Modell basierend auf item_ids voraussagt, so dass es mir keine anderen item_ids empfiehlt. Es sagt mir nur, wie passend (Bestellung durch Vorhersage und begrenzende Ergebnisse) die gleichen item_ids sind, die mit Trainingsdaten verbunden sind. Ich brauche das Modell zu empfehlen Ich verschiedene Dinge sollte ich eine Art von unterscheiden, so dass ich verschiedene item_ids oder theres anders testen kann? –