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

Оценка модели с помощью MSE

После получения предсказанных оценок на тестовых данных с помощью модели ALS вам предстоит подготовить данные для вычисления среднеквадратичной ошибки (MSE) модели. MSE — это среднее значение (original rating – predicted rating)**2 по всем пользователям; оно показывает, насколько точно модель соответствует данным.

Для этого сначала приведите оба RDD — ratings_final и predictions — к виду кортежей ((user, product), rating). В обоих RDD структура следующая:

0: user
1: product
2: rating

Затем объедините преобразованные RDD и примените функцию квадратичной разности вместе с mean(), чтобы получить значение MSE.

Напоминаем: в рабочем пространстве уже доступны SparkContext sc, а также RDD ratings_final и predictions.

Это упражнение является частью курса

Основы Big Data с PySpark

Посмотреть курс

Инструкции к упражнению

  • Преобразуйте RDD ratings к формату ((user, product), rating).
  • Преобразуйте RDD predictions к формату ((user, product), rating).
  • Объедините RDD предсказаний с RDD оценок.
  • Вычислите MSE между исходными и предсказанными оценками и выведите результат на экран.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))

# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))

# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)

# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))
Редактировать и запускать код