ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • O listă goală numită model_list este deja furnizată. Bucla for va crea câte un model pentru fiecare combinație de hiperparametri și îl va adăuga în model_list.
  • Completează bucla for referențiind conținutul fiecărei liste, unde r reprezintă elementele listei ranks, mi reprezintă elementele listei maxIters, rp reprezintă elementele listei regParams, iar a reprezintă elementele listei alphas.
  • Afișează len(model_list) și model_list pentru 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))
Editează și rulează codul