LoslegenKostenlos starten

Ein ALS-Modell aufbauen

Lass uns dein erstes ALS-Modell spezifizieren. Vervollständige den Code unten, um dein erstes ALS-Modell zu erstellen.

Denk daran: Du kannst die Methode .columns auf dem DataFrame ratings verwenden, um die Spaltennamen für Nutzer-, Film- und Bewertungsdaten zu sehen. Spark muss diese Spaltennamen kennen, um ALS korrekt auszuführen.

Diese Übung ist Teil des Kurses

<Kurs>Recommendation Engines mit PySpark erstellen</Kurs>
Kurs ansehen

Übungsanweisungen

  • Bevor wir unser ALS-Modell bauen, müssen wir die Daten in Trainings- und Testdaten aufteilen. Verwende die Methode randomSplit(), um den DataFrame ratings in training_data und test_data mit einem 0,8/0,2-Split aufzuteilen und setze den seed für den Zufallszahlengenerator auf 42.
  • Teile Spark mit, welche Spalten userCol, itemCol und ratingCol enthalten. Nutze bei Bedarf die Methode .columns. Vervollständige die Hyperparameter: Setze rank auf 10, maxIter auf 15, regParam (Lambda) auf .1, coldStartStrategy auf "drop", nonnegative auf True und, da unsere Daten explizite Bewertungen enthalten, implicitPrefs auf False.
  • Fitte nun das als-Modell auf den Teil training_data der ratings-Daten, indem du als.fit() auf den gegebenen training_data aufrufst. Nenne das gefittete Modell model.
  • Erzeuge Vorhersagen auf dem Teil test_data der ratings-Daten, indem du model.transform() auf dem gegebenen test_data aufrufst. Nenne die Vorhersagen test_predictions. Du kannst dir die Vorhersagen mit der Methode .show() auf test_predictions ansehen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Split the ratings dataframe into training and test data
(training_data, test_data) = ratings.____([____, ____], seed=42)

# Set the ALS hyperparameters
from pyspark.ml.recommendation import ALS
als = ALS(userCol="____", itemCol="____", ratingCol="____", rank =____, maxIter =____, regParam =____,
          coldStartStrategy="____", nonnegative =____, implicitPrefs = ____)

# Fit the mdoel to the training_data
____ = ____.fit(____)

# Generate predictions on the test_data
____ = ____.transform(____)
test_predictions.show()
Code bearbeiten und ausführen