ÎncepețiÎncepe gratuit

Încărcarea setului de date MovieLens în RDD-uri

Filtrarea colaborativă este o tehnică utilizată în sistemele de recomandare, în care evaluările și interacțiunile utilizatorilor cu diverse produse sunt folosite pentru a sugera produse noi. Odată cu avântul învățării automate și al procesării paralele a datelor, sistemele de recomandare au căpătat o popularitate tot mai mare în ultimii ani și sunt folosite în numeroase domenii: filme, muzică, știri, cărți, articole de cercetare, interogări de căutare și etichete sociale. În acest exercițiu în 3 părți, scopul tău este să dezvolți un sistem simplu de recomandare de filme folosind PySpark MLlib, pe baza unui subset al setului de date MovieLens 100k.

În prima parte, vei încărca datele MovieLens (ratings.csv) într-un RDD. Fiecare linie din RDD are formatul userId,movieId,rating,timestamp – va trebui să mapezi datele MovieLens la un obiect de tip Ratings (userID, productID, rating), eliminând coloana timestamp, și în final să împarți RDD-ul în RDD de antrenament și RDD de testare.

Reține că ai un SparkContext sc disponibil în spațiul de lucru. De asemenea, variabila file_path (calea către fișierul ratings.csv) și clasa ALS (adică Rating) sunt deja disponibile în spațiul de lucru.

Acest exercițiu face parte din cursul

Fundamentele Big Data cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Încarcă setul de date ratings.csv într-un RDD.
  • Împarte RDD-ul folosind , ca delimitator.
  • Pentru fiecare linie din RDD, folosește clasa Rating() pentru a crea un tuplu de userID, productID, rating.
  • Împarte aleatoriu datele în date de antrenament și date de testare (0,8 și 0,2).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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])
Editează și rulează codul