НачатьНачать бесплатно

Создание обучающей и тестовой выборок и построение модели 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(____)
Редактировать и запускать код