Zacznij terazZacznij za darmo

Wczytywanie zbioru danych MovieLens do RDD

Filtrowanie kolaboratywne to technika stosowana w systemach rekomendacyjnych, w której oceny i interakcje użytkowników z różnymi produktami służą do sugerowania nowych pozycji. Wraz z rozwojem uczenia maszynowego i przetwarzania równoległego systemy rekomendacyjne zyskały dużą popularność i są wykorzystywane w wielu dziedzinach – od filmów i muzyki, przez książki i artykuły naukowe, po zapytania wyszukiwarek i tagi społecznościowe. W tym trzyczęściowym ćwiczeniu zbudujesz prosty system rekomendacji filmów przy użyciu PySpark MLlib, korzystając z fragmentu zbioru danych MovieLens 100k.

W pierwszej części wczytasz dane MovieLens (ratings.csv) do RDD. Każda linia RDD ma format userId,movieId,rating,timestamp – musisz odwzorować dane MovieLens na obiekt klasy Rating (userID, productID, rating), usuwając kolumnę timestamp, a następnie podzielić RDD na zbiory treningowy i testowy.

Pamiętaj, że w przestrzeni roboczej masz dostęp do SparkContext sc. Zmienna file_path (ścieżka do pliku ratings.csv) oraz klasa ALS (Rating) są już dostępne w przestrzeni roboczej.

To ćwiczenie jest częścią kursu

Podstawy Big Data z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Wczytaj zbiór danych ratings.csv do RDD.
  • Podziel RDD, używając , jako separatora.
  • Dla każdej linii RDD utwórz krotkę userID, productID, rating, korzystając z klasy Rating().
  • Losowo podziel dane na zbiór treningowy i testowy (0.8 i 0.2).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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])
Edytuj i uruchom kod