Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Importa RegressionEvaluator da ml.evaluation, l'algoritmo ALS da ml.recommendation e ParamGridBuilder e CrossValidator da ml.tuning.
  • Crea uno split train/test .80/.20 sui dati ratings usando il metodo randomSplit. Chiama i dataset train e test, e imposta il seed casuale a 1234.
  • Costruisci il modello ALS, indicando a Spark i nomi delle colonne nel dataframe ratings che corrispondono a userCol, itemCol e ratingCol. Imposta l'argomento nonnegative a True, coldStartStrategy a "drop" e comunica a Spark che non si tratta di implicitPrefs impostando l'argomento implicitPrefs a False. Chiama questo modello als.
  • Verifica che il modello sia stato creato richiamando la funzione type() su als. 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(____)
Modifica ed esegui il codice