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
Instrukcje do ćwiczenia
- Zanim zbudujesz model ALS, podziel dane na zbiór treningowy i testowy. Użyj metody
randomSplit(), aby podzielić ramkę danychratingsnatraining_dataitest_dataw proporcji 0,8/0,2 i ustawseedgeneratora liczb losowych na42. - Wskaż Sparkowi, które kolumny zawierają
userCol,itemColiratingCol. W razie potrzeby użyj metody.columns. Uzupełnij hiperparametry: ustawrankna 10,maxIterna 15,regParam(lambda) na .1,coldStartStrategyna"drop", argumentnonnegativenaTrue, a ponieważ dane zawierają oceny jawne, ustaw argumentimplicitPrefsnaFalse. - Dopasuj model
alsdo zbioru treningowegotraining_data, wywołując metodęals.fit()natraining_data. Nadaj dopasowanemu modelowi nazwęmodel. - Wygeneruj predykcje na zbiorze testowym
test_data, wywołując metodęmodel.transform()natest_data. Nadaj predykcjom nazwętest_predictions. Możesz je podejrzeć, wywołując metodę.show()na obiekcietest_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()