Začněte nyníZačněte zdarma

Sestavení modelu ALS

Pojďme definovat tvůj první ALS model. Dokonči níže uvedený kód a sestav svůj první model ALS.

Nezapomeň, že metodu .columns lze použít na datovém rámci ratings k zobrazení názvů sloupců, které obsahují data o uživatelích, filmech a hodnoceních. Spark potřebuje znát názvy těchto sloupců, aby mohl ALS správně provést.

Toto cvičení je součástí kurzu

Tvorba doporučovacích systémů s PySparkem

Zobrazit kurz

Pokyny k cvičení

  • Než sestavíme model ALS, je potřeba rozdělit data na trénovací a testovací část. Použij metodu randomSplit() k rozdělení datového rámce ratings na training_data a test_data v poměru 0,8/0,2 a nastav seed generátoru náhodných čísel na 42.
  • Řekni Sparku, které sloupce obsahují userCol, itemCol a ratingCol. Pokud potřebuješ, použij metodu .columns. Dokonči nastavení hyperparametrů: nastav rank na 10, maxIter na 15, regParam (lambda) na .1, coldStartStrategy na "drop", argument nonnegative nastav na True a protože naše data obsahují explicitní hodnocení, nastav argument implicitPrefs na False.
  • Nyní natrénuj model als na části training_data z dat ratings – zavolej metodu als.fit() s argumentem training_data. Natrénovaný model pojmenuj model.
  • Vygeneruj predikce na části test_data z dat ratings – zavolej metodu model.transform() s argumentem test_data. Predikce pojmenuj test_predictions. Výsledky si můžeš prohlédnout zavoláním metody .show() na objektu test_predictions.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód