Загрузка набора данных 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])