Zacznij terazZacznij za darmo

Zbuduj model ALS

Czas skonfigurować swój pierwszy model ALS. Uzupełnij poniższy kod, aby go zbudować.

Pamiętaj, że możesz użyć metody .columns na ramce danych ratings, aby sprawdzić nazwy kolumn zawierających dane o użytkownikach, filmach i ocenach. Spark potrzebuje tych nazw, aby poprawnie wykonać algorytm ALS.

To ćwiczenie jest częścią kursu

Budowanie silników rekomendacji w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zanim zbudujesz model ALS, podziel dane na zbiór treningowy i testowy. Użyj metody randomSplit(), aby podzielić ramkę danych ratings na training_data i test_data w proporcji 0,8/0,2 i ustaw seed generatora liczb losowych na 42.
  • Wskaż Sparkowi, które kolumny zawierają userCol, itemCol i ratingCol. W razie potrzeby użyj metody .columns. Uzupełnij hiperparametry: ustaw rank na 10, maxIter na 15, regParam (lambda) na .1, coldStartStrategy na "drop", argument nonnegative na True, a ponieważ dane zawierają oceny jawne, ustaw argument implicitPrefs na False.
  • Dopasuj model als do zbioru treningowego training_data, wywołując metodę als.fit() na training_data. Nadaj dopasowanemu modelowi nazwę model.
  • Wygeneruj predykcje na zbiorze testowym test_data, wywołując metodę model.transform() na test_data. Nadaj predykcjom nazwę test_predictions. Możesz je podejrzeć, wywołując metodę .show() na obiekcie test_predictions.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod