Створіть розбиття на test/train і побудуйте свою модель ALS
Ви вже вмієте будувати модель ALS — ви робили це в попередньому розділі. Зробимо це знову, але додамо кроки, щоб повністю побудувати крос-валідаційну модель.
Спочатку імпортуємо потрібні функції та створимо тренувальний і тестовий набори даних для підготовки до етапу крос-валідації.
Ця вправа є частиною курсу
Створення рушіїв рекомендацій у PySpark
Інструкції до вправи
- Імпортуйте
RegressionEvaluatorзml.evaluation, алгоритмALSзml.recommendation, а такожParamGridBuilderіCrossValidatorзml.tuning. - Створіть розбиття train/test .80/.20 для даних
ratings, використовуючи методrandomSplit. Назвіть вибіркиtrainіtest, а випадкове зерно встановіть у1234. - Побудуйте модель ALS, вказавши Spark назви стовпців у датафреймі
ratings, що відповідаютьuserCol,itemColіratingCol. Встановіть аргументnonnegativeуTrue,coldStartStrategy— у"drop"і повідомте Spark, що це неimplicitPrefs, установивши аргументimplicitPrefsуFalse. Назвіть цю модельals. - Перевірте, що модель створено, викликавши функцію
type()дляals. У результаті має бути зазначено, якого типу ця модель.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____
# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)
# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)
# Confirm that a model called "als" was created
type(____)