Construiește modele implicite
Acum că ai specificat toate valorile hiperparametrilor, hai să lăsăm Spark să construiască suficiente modele pentru a testa fiecare combinație. Pentru a facilita acest lucru, îți este furnizată o buclă for. Urmează instrucțiunile de mai jos pentru a crea automat aceste modele ALS. În exercițiile următoare vei rula aceste modele pe seturi de date de testare pentru a vedea care dintre ele are cea mai bună performanță.
Algoritmul ALS este deja importat pentru tine. Listele pe care le-ai creat în exercițiul anterior (ranks, maxIters, regParams, alphas) au fost deja definite.
Acest exercițiu face parte din cursul
Construiește motoare de recomandare cu PySpark
Instrucțiuni pentru exercițiu
- O listă goală numită
model_listeste deja furnizată. Buclaforva crea câte un model pentru fiecare combinație de hiperparametri și îl va adăuga înmodel_list. - Completează bucla
forreferențiind conținutul fiecărei liste, underreprezintă elementele listeiranks,mireprezintă elementele listeimaxIters,rpreprezintă elementele listeiregParams, iarareprezintă elementele listeialphas. - Afișează
len(model_list)șimodel_listpentru a te asigura că fiecare model a fost creat. Lungimea ar trebui să fie egală cu produsul lungimilor tuturor listelor de hiperparametri de mai sus. Poți rula și validarea suplimentară furnizată pentru a verifica.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))