Kom igångKom igång gratis

Läs in MovieLens-datamängden till RDD:er

Kollaborativ filtrering är en teknik för rekommendationssystem där användares betyg och interaktioner med olika produkter används för att rekommendera nya. I takt med att maskininlärning och parallelliserad databearbetning blivit allt vanligare har rekommendationssystem fått stor spridning inom en rad områden, till exempel film, musik, nyheter, böcker, forskningsartiklar, sökfrågor och sociala taggar. I den här övningen i tre delar är målet att bygga ett enkelt filmrekommendationssystem med PySpark MLlib, baserat på en delmängd av MovieLens 100k-datamängden.

I den första delen läser du in MovieLens-data (ratings.csv) till en RDD. Varje rad i RDD:n är formaterad som userId,movieId,rating,timestamp. Du ska mappa datan till ett Ratings-objekt (userID, productID, rating) genom att ta bort kolumnen timestamp, och slutligen dela upp RDD:n i en tränings-RDD och en test-RDD.

Kom ihåg att SparkContext sc finns tillgänglig i din arbetsyta. Variabeln file_path (sökvägen till filen ratings.csv) och ALS-klassen (dvs. Rating) är också redan tillgängliga.

Den här övningen är en del av kursen

Grunderna i Big Data med PySpark

Visa kurs

Övningsinstruktioner

  • Läs in datamängden ratings.csv till en RDD.
  • Dela upp RDD:n med , som avgränsare.
  • Använd klassen Rating() för att skapa en tupel av userID, productID, rating för varje rad i RDD:n.
  • Dela slumpmässigt upp datan i träningsdata och testdata (0,8 respektive 0,2).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod