Побудуйте модель ALS
Задамо вашу першу модель ALS. Доповніть код нижче, щоб зібрати свою першу модель ALS.
Нагадаємо, що ви можете скористатися методом .columns у датафреймі ratings, щоб переглянути назви стовпців, які містять дані про користувача, фільм і оцінки. Spark має знати назви цих стовпців, щоб коректно виконувати ALS.
Ця вправа є частиною курсу
Створення рушіїв рекомендацій у PySpark
Інструкції до вправи
- Перш ніж будувати модель ALS, потрібно розбити дані на тренувальні та тестові. Скористайтеся методом
randomSplit(), щоб розділити датафреймratingsнаtraining_dataтаtest_dataу пропорції 0.8/0.2 відповідно та зseedгенератора випадкових чисел42. - Вкажіть для Spark, які стовпці містять
userCol,itemColіratingCol. За потреби використайте метод.columns. Заповніть гіперпараметри. Встановітьrankна 10,maxIterна 15,regParam(lambda) на .1,coldStartStrategyна"drop", аргументnonnegativeмає бутиTrue, а оскільки наші дані містять явні оцінки, встановітьimplicitPrefsнаFalse. - Тепер навчіть модель
alsна частиніtraining_dataз данихratings, викликавши методals.fit()на наданомуtraining_data. Назвіть отриману модельmodel. - Згенеруйте передбачення на частині
test_dataз данихratings, викликавши методmodel.transform()на наданомуtest_data. Назвіть передбаченняtest_predictions. За бажання перегляньте їх, викликавши метод.show()наtest_predictions.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()