ПочатиПочніть безкоштовно

Оцінювання моделі за допомогою 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(____))
Редагувати та запускати код