Kom igångKom igång gratis

Bygg implicita modeller

Nu när du har angett alla hyperparametervärden är det dags att låta Spark bygga tillräckligt många modeller för att testa varje kombination. För att underlätta detta finns en for-slinga tillhandahållen här. Följ instruktionerna nedan för att automatiskt skapa dessa ALS-modeller. I kommande övningar kör du modellerna på testdata för att se vilken som presterar bäst.

ALS-algoritmen är redan importerad. Listorna du skapade i föregående övning (ranks, maxIters, regParams, alphas) är redan tillgängliga.

Den här övningen är en del av kursen

Bygg rekommendationsmotorer med PySpark

Visa kurs

Övningsinstruktioner

  • En tom lista kallad model_list finns redan. for-slingan skapar en modell för varje kombination av hyperparametrar och lägger till den i model_list.
  • Fyll i for-slingan genom att referera till innehållet i varje lista, där r representerar elementen i listan ranks, mi representerar elementen i maxIters, rp representerar elementen i regParams och a representerar elementen i alphas.
  • Skriv ut len(model_list) och model_list för att kontrollera att varje modell skapades korrekt. Längden ska vara lika med produkten av längderna på alla hyperparameterlistor ovan. Du kan även köra den extra valideringen som tillhandahålls för att bekräfta detta.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod