Tvorba implicitních modelů
Teď, když máš zadané všechny hodnoty hyperparametrů, nech Spark sestavit dostatek modelů pro otestování každé kombinace. K tomu slouží smyčka for, která je zde připravená. Postupuj podle pokynů níže a automaticky vytvoř tyto modely ALS. V dalších cvičeních je spustíš na testovacích datech a zjistíš, který z nich funguje nejlépe.
Algoritmus ALS je už naimportovaný. Seznamy, které jsi vytvořil/a v předchozím cvičení (ranks, maxIters, regParams, alphas), jsou také připravené.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů s PySparkem
Pokyny k cvičení
- Zde je připravený prázdný seznam
model_list. Smyčkaforvytvoří model pro každou kombinaci hyperparametrů a uloží ho domodel_list. - Doplň smyčku
fortak, aby odkazovala na obsah každého seznamu:rreprezentuje prvky seznamuranks,miprvky seznamumaxIters,rpprvky seznamuregParamsaaprvky seznamualphas. - Vypiš
len(model_list)i samotnýmodel_lista ověř, že byly vytvořeny všechny modely. Délka by měla odpovídat součinu délek všech výše uvedených seznamů hyperparametrů. Pro jistotu můžeš spustit i připravenou validaci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))