Создание обучающей и тестовой выборок и построение модели ALS
В предыдущей главе вы уже строили модель ALS. Сейчас мы повторим этот процесс, но добавим несколько шагов, чтобы полноценно реализовать модель с кросс-валидацией.
Для начала импортируем необходимые функции и подготовим обучающую и тестовую выборки для последующего этапа кросс-валидации.
Это упражнение является частью курса
Построение рекомендательных систем с помощью PySpark
Инструкции к упражнению
- Импортируйте
RegressionEvaluatorизml.evaluation, алгоритмALSизml.recommendation, а такжеParamGridBuilderиCrossValidatorизml.tuning. - Разделите данные
ratingsна обучающую и тестовую выборки в соотношении 80/20 с помощью методаrandomSplit. Назовите наборы данныхtrainиtest, установите случайное зерно равным1234. - Постройте модель ALS, указав Spark названия столбцов в датафрейме
ratings, которые соответствуют параметрамuserCol,itemColиratingCol. Задайте аргументуnonnegativeзначениеTrue, аргументуcoldStartStrategy— значение"drop", а аргументу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(____)