Beste model en modelparameters
Nu we onze cross-validator, cv, hebben opgebouwd, kunnen we Spark vragen om onze data te nemen, het ALS-algoritme erop te fitten en de verschillende combinaties van hyperparameterwaarden uit onze param_grid te proberen, zodat het kan bepalen welke waarden de kleinste RMSE opleveren. Helaas duurt dat hier te lang, maar ter referentie: zo doe je dat:
# Fit de cross-validator op de 'train'-gegevensset
model = cv.fit(train)
# Haal het beste model uit het bovenstaande cv-model
best_model = model.bestModel
Deze code is apart uitgevoerd en het best_model is voor je vastgesteld en opgeslagen. Gebruik de gegeven opdrachten om de parameters van het model uit te lezen.
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen met PySpark
Oefeninstructies
- Print
type(best_model)om te bevestigen dat het ALS-model dat uit onze hyperparameteropties is gebouwd inderdaad is afgerond. Hier is een print-statement nodig om met de volgende print-statements te kunnen werken. - Haal de
rankuitbest_modeldoor de methode.getRank()opbest_modelaan te roepen. - Haal de
maxIteruitbest_modeldoor de methode.getMaxIter()opbest_modelaan te roepen. - Haal de
regParamuitbest_modeldoor de methode.getRegParam()opbest_modelaan te roepen.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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____())