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

Завантаження набору даних MovieLens у RDD

Колаборативна фільтрація — це метод для рекомендаторних систем, у якому на основі оцінок користувачів та їхніх взаємодій із різними продуктами рекомендуються нові. З появою машинного навчання та паралельної обробки даних рекомендаторні системи стали дуже популярними останніми роками й використовуються в різних сферах, зокрема для фільмів, музики, новин, книжок, наукових статей, пошукових запитів, соціальних тегів. У цій вправі з трьох частин ваша мета — розробити просту систему рекомендацій фільмів за допомогою PySpark MLlib, використовуючи підмножину набору даних MovieLens 100k.

У першій частині ви спочатку завантажите дані MovieLens (ratings.csv) у RDD, а з кожного рядка в RDD у форматі userId,movieId,rating,timestamp вам потрібно зіставити дані MovieLens з об'єктом Ratings (userID, productID, rating), вилучивши стовпець timestamp, і зрештою розділити RDD на тренувальний і тестовий RDD.

Пам'ятайте, у вашому середовищі доступний SparkContext sc. Також змінна file_path (шлях до файлу ratings.csv) і клас ALS (тобто Rating) уже доступні у вашому робочому просторі.

Ця вправа є частиною курсу

Основи Big Data з PySpark

Переглянути курс

Інструкції до вправи

  • Завантажте набір даних ratings.csv у RDD.
  • Розбийте RDD, використовуючи роздільник ,.
  • Для кожного рядка RDD, використовуючи клас Rating(), створіть кортеж userID, productID, rating.
  • Випадково розділіть дані на тренувальні та тестові у пропорції 0.8 і 0.2.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Load the data into RDD
data = sc.____(file_path)

# Split the RDD 
ratings = data.____(lambda l: l.split('____'))

# Transform the ratings RDD 
ratings_final = ratings.____(lambda line: Rating(int(line[0]), int(____), float(____)))

# Split the data into training and test
training_data, test_data = ratings_final.____([0.8, 0.2])
Редагувати та запускати код