IniziaInizia gratis

Caricare il dataset MovieLens negli RDD

Il collaborative filtering è una tecnica per i sistemi di raccomandazione in cui le valutazioni e le interazioni degli utenti con vari prodotti vengono utilizzate per suggerirne di nuovi. Con l’avvento del Machine Learning e dell’elaborazione dei dati in parallelo, i sistemi di raccomandazione sono diventati molto popolari negli ultimi anni e vengono utilizzati in vari ambiti, tra cui film, musica, notizie, libri, articoli di ricerca, query di ricerca, tag social. In questo esercizio in 3 parti, il tuo obiettivo è sviluppare un semplice sistema di raccomandazione di film usando PySpark MLlib su un sottoinsieme del dataset MovieLens 100k.

Nella prima parte, caricherai i dati di MovieLens (ratings.csv) in un RDD e, da ogni riga dell’RDD formattata come userId,movieId,rating,timestamp, mapperai i dati in un oggetto Ratings (userID, productID, rating) dopo aver rimosso la colonna timestamp e, infine, suddividerai l’RDD in RDD di training e di test.

Ricorda: hai uno SparkContext sc disponibile nel tuo workspace. Anche la variabile file_path (il percorso del file ratings.csv) e la classe ALS (cioè Rating) sono già disponibili nel tuo workspace.

Questo esercizio fa parte del corso

Fondamenti di Big Data con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Carica il dataset ratings.csv in un RDD.
  • Suddividi l’RDD usando , come delimitatore.
  • Per ogni riga dell’RDD, usando la classe Rating() crea una tupla userID, productID, rating.
  • Suddividi casualmente i dati in training e test (0.8 e 0.2).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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])
Modifica ed esegui il codice