Model trainen en voorspellingen
Nadat je de data hebt opgesplitst in trainings- en testdata, train je in het tweede deel van de oefening het ALS-algoritme met de trainingsdata. PySpark MLlib’s ALS-algoritme heeft de volgende verplichte parameters: rank (het aantal latente factoren in het model) en iterations (het aantal iteraties). Na het trainen van het ALS-model kun je het model gebruiken om de ratings uit de testdata te voorspellen. Hiervoor geef je de gebruikers- en itemkolommen uit de testgegevens mee en retourneer je tot slot de lijst met 2 rijen uit de output van predictAll().
Onthoud: je hebt SparkContext sc; training_data en test_data zijn al beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Big Data Fundamentals met PySpark
Oefeninstructies
- Train het ALS-algoritme met de trainingsdata en de ingestelde parameters (
rank= 10 eniterations= 10). - Drop de kolom
ratingin de testdata; dit is de derde kolom. - Test het model door de rating uit de testdata te voorspellen.
- Retourneer een lijst met twee rijen van de voorspelde ratings.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create the ALS model on the training data
model = ALS.____(____, rank=10, iterations=10)
# Drop the ratings column
testdata_no_rating = test_data.___(lambda p: (p[0], ____))
# Predict the model
predictions = model.____(testdata_no_rating)
# Return the first 2 rows of the RDD
predictions.____(2)