Crea gli split di test/train e costruisci il tuo modello ALS
Sai già come costruire un modello ALS, l'hai fatto nel capitolo precedente. Lo rifaremo, ma faremo anche alcuni passaggi aggiuntivi per costruire un modello completamente convalidato con cross validation.
Per prima cosa, importiamo le funzioni necessarie e creiamo i nostri set di train e test in preparazione alla fase di cross validation.
Questo esercizio fa parte del corso
Costruire motori di raccomandazione con PySpark
Istruzioni dell'esercizio
- Importa
RegressionEvaluatordaml.evaluation, l'algoritmoALSdaml.recommendationeParamGridBuildereCrossValidatordaml.tuning. - Crea uno split train/test .80/.20 sui dati
ratingsusando il metodorandomSplit. Chiama i datasettrainetest, e imposta il seed casuale a1234. - Costruisci il modello ALS, indicando a Spark i nomi delle colonne nel dataframe
ratingsche corrispondono auserCol,itemColeratingCol. Imposta l'argomentononnegativeaTrue,coldStartStrategya"drop"e comunica a Spark che non si tratta diimplicitPrefsimpostando l'argomentoimplicitPrefsaFalse. Chiama questo modelloals. - Verifica che il modello sia stato creato richiamando la funzione
type()suals. L'output dovrebbe indicare di che tipo di modello si tratta.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____
# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)
# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)
# Confirm that a model called "als" was created
type(____)