Načtení datasetu MovieLens do RDD
Kolaborativní filtrování je technika pro doporučovací systémy, kde se hodnocení a interakce uživatelů s různými produkty využívají k doporučování nových. S rozvojem Machine Learningu a paralelního zpracování dat si doporučovací systémy v posledních letech získaly velkou popularitu a uplatňují se v mnoha oblastech – od filmů a hudby přes novinky a knihy až po vědecké články, vyhledávací dotazy nebo sociální tagy. V tomto třídílném cvičení je tvým cílem vytvořit jednoduchý systém doporučování filmů pomocí PySpark MLlib s využitím části datasetu MovieLens 100k.
V první části načteš data MovieLens (ratings.csv) do RDD. Každý řádek RDD má formát userId,movieId,rating,timestamp – budeš potřebovat namapovat data MovieLens na objekt Ratings (userID, productID, rating), odstranit sloupec timestamp a nakonec RDD rozdělit na trénovací a testovací část.
Pamatuj, že v pracovním prostředí máš k dispozici SparkContext sc, proměnnou file_path (cestu k souboru ratings.csv) a třídu ALS (tedy Rating).
Toto cvičení je součástí kurzu
Big Data Fundamentals with PySpark
Pokyny k cvičení
- Načti dataset
ratings.csvdo RDD. - Rozděl RDD pomocí oddělovače
,. - Pro každý řádek RDD vytvoř pomocí třídy
Rating()n-ticiuserID, productID, rating. - Náhodně rozděl data na trénovací a testovací část (0.8 a 0.2).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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])