Budowanie modeli z niejawnymi ocenami
Masz już określone wszystkie wartości hiperparametrów – czas pozwolić Sparkowi zbudować wystarczającą liczbę modeli, by przetestować każdą ich kombinację. W tym celu przygotowano pętlę for. Postępuj zgodnie z poniższymi instrukcjami, aby automatycznie tworzyć modele ALS. W kolejnych ćwiczeniach uruchomisz te modele na zbiorach testowych i sprawdzisz, który radzi sobie najlepiej.
Algorytm ALS jest już zaimportowany. Listy utworzone w poprzednim ćwiczeniu (ranks, maxIters, regParams, alphas) są już dostępne.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Przygotowano pustą listę o nazwie
model_list. Pętlaforutworzy model dla każdej kombinacji hiperparametrów i doda go domodel_list. - Uzupełnij pętlę
for, odwołując się do zawartości każdej listy:rreprezentuje elementy listyranks,mi– elementy listymaxIters,rp– elementy listyregParams, aa– elementy listyalphas. - Wyświetl
len(model_list)orazmodel_list, aby upewnić się, że wszystkie modele zostały utworzone. Długość listy powinna być równa iloczynowi długości każdej z powyższych list hiperparametrów. Możesz też uruchomić przygotowaną dodatkową weryfikację, żeby mieć pewność.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# For loop will automatically create and store ALS models
for r in ____:
for mi in ____:
for rp in ____:
for a in ____:
model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))
# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))
# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))