Miglior modello e relativi parametri
Ora che abbiamo costruito il nostro validatore incrociato, cv, possiamo chiedere a Spark di prendere i nostri dati, adattare l'algoritmo ALS e provare le diverse combinazioni di valori degli iperparametri dal nostro param_grid, così da identificare quali valori producono l'RMSE più basso. Purtroppo qui richiederebbe troppo tempo, ma per riferimento, ecco come si fa:
# Adatta il validatore incrociato al dataset 'train'
model = cv.fit(train)
# Estrai il miglior modello dal modello cv sopra
best_model = model.bestModel
Questo codice è stato eseguito separatamente e il best_model è stato identificato e salvato per te. Usa i comandi forniti per estrarre i parametri del modello.
Questo esercizio fa parte del corso
Costruire motori di raccomandazione con PySpark
Istruzioni dell'esercizio
- Stampa
type(best_model)per confermare che il modello ALS costruito dalle nostre opzioni di iperparametri è effettivamente pronto. Qui è necessaria un'istruzione di stampa per poter usare le successive. - Estrai il
rankdabest_modelchiamando il metodo.getRank()subest_model. - Estrai
maxIterdabest_modelchiamando il metodo.getMaxIter()subest_model. - Estrai
regParamdabest_modelchiamando il metodo.getRegParam()subest_model.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Print best_model
print(____)
# Complete the code below to extract the ALS model parameters
print("**Best Model**")
# Print "Rank"
print(" Rank:", best_model.get____())
# Print "MaxIter"
print(" MaxIter:", best_model.get____())
# Print "RegParam"
print(" RegParam:", best_model.get____())