Aan de slagBegin gratis

Impliciete modellen bouwen

Nu je alle hyperparameterwaarden hebt vastgelegd, kan Spark genoeg modellen bouwen om elke combinatie te testen. Hiervoor is een for-lus meegeleverd. Volg de instructies hieronder om deze ALS-modellen automatisch te maken. In de volgende oefeningen laat je deze modellen op testgegevenssets draaien om te zien welke het beste presteert.

Het ALS-algoritme is al voor je geïmporteerd. De lijsten die je in de vorige oefening hebt gemaakt (ranks, maxIters, regParams, alphas) zijn voor je klaargezet.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen met PySpark

Bekijk cursus

Oefeninstructies

  • Er is een lege lijst model_list beschikbaar. De for-lus maakt voor elke combinatie van hyperparameters een model en stopt dat in model_list.
  • Maak de for-lus af door te verwijzen naar de inhoud van elke lijst, waarbij r de elementen van de lijst ranks voorstelt, mi de elementen van de lijst maxIters, rp de elementen van de lijst regParams en a de elementen van de lijst alphas.
  • Print len(model_list) én model_list om te controleren dat elk model is aangemaakt. De lengte moet gelijk zijn aan het product van alle lengtes van elke hyperparameterlijst hierboven. Je kunt de extra validatie uitvoeren om zeker te zijn.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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))
Code bewerken en uitvoeren