Najlepszy model i jego parametry
Teraz, gdy mamy gotowy walidator krzyżowy cv, możemy zlecić Sparkowi dopasowanie algorytmu ALS do danych i przetestowanie różnych kombinacji wartości hiperparametrów z param_grid — w celu znalezienia tych, które dają najmniejszy błąd RMSE. Niestety, ten proces trwa zbyt długo, aby uruchamiać go tutaj, ale dla celów referencyjnych poniżej znajdziesz sposób, w jaki się to robi:
#Fit cross validator to the 'train' dataset
model = cv.fit(train)
#Extract best model from the cv model above
best_model = model.bestModel
Ten kod został uruchomiony osobno, a best_model został zidentyfikowany i zapisany do twojego użytku. Skorzystaj z podanych poleceń, aby wyodrębnić parametry modelu.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Wyświetl
type(best_model), aby potwierdzić, że model ALS zbudowany na podstawie podanych opcji hiperparametrów jest kompletny. Instrukcjaprintjest tutaj konieczna, aby kolejne wywołaniaprintdziałały poprawnie. - Wyodrębnij wartość
rankzbest_model, wywołując metodę.getRank()nabest_model. - Wyodrębnij wartość
maxIterzbest_model, wywołując metodę.getMaxIter()nabest_model. - Wyodrębnij wartość
regParamzbest_model, wywołując metodę.getRegParam()nabest_model.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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____())