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

Загрузка набора данных Movie Lens в RDD

Коллаборативная фильтрация — это метод построения рекомендательных систем, при котором оценки пользователей и их взаимодействие с различными продуктами используются для формирования новых рекомендаций. С развитием машинного обучения и параллельной обработки данных рекомендательные системы приобрели широкую популярность и применяются в самых разных областях: кино, музыка, новости, книги, научные статьи, поисковые запросы, социальные теги. В этом упражнении, состоящем из трёх частей, вам предстоит построить простую систему рекомендации фильмов с помощью PySpark MLlib на основе подмножества набора данных MovieLens 100k.

В первой части вы загрузите данные MovieLens (ratings.csv) в RDD. Каждая строка RDD имеет формат userId,movieId,rating,timestamp. Вам нужно будет преобразовать данные MovieLens в объекты Rating (userID, productID, rating), удалив столбец с временной меткой, а затем разбить 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])
Редактировать и запускать код