Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Przygotowano pustą listę o nazwie model_list. Pętla for utworzy model dla każdej kombinacji hiperparametrów i doda go do model_list.
  • Uzupełnij pętlę for, odwołując się do zawartości każdej listy: r reprezentuje elementy listy ranks, mi – elementy listy maxIters, rp – elementy listy regParams, a a – elementy listy alphas.
  • Wyświetl len(model_list) oraz model_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))
Edytuj i uruchom kod