Inizia subitoInizia gratis

Crea modelli impliciti

Ora che hai specificato tutti i valori degli iperparametri, lascia che Spark costruisca abbastanza modelli da testare ogni combinazione. Per facilitare questo, qui è fornito un ciclo for. Segui le istruzioni qui sotto per creare automaticamente questi modelli ALS. Negli esercizi successivi eseguirai questi modelli su insiemi di dati di test per vedere quale funziona meglio.

L'algoritmo ALS è già stato importato per te. Le liste che hai creato nell'esercizio precedente (ranks, maxIters, regParams, alphas) sono già state predisposte.

Questo esercizio fa parte del corso

Costruire motori di raccomandazione con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Qui è fornita una lista vuota chiamata model_list. Il ciclo for creerà un modello per ogni combinazione di iperparametri fornita e lo inserirà in model_list.
  • Completa il ciclo for facendo riferimento al contenuto di ciascuna lista, dove r rappresenta gli elementi della lista ranks, mi rappresenta gli elementi della lista maxIters, rp rappresenta gli elementi della lista regParams e a rappresenta gli elementi della lista alphas.
  • Stampa len(model_list) e anche model_list per assicurarti che ogni modello sia stato creato. La lunghezza dovrebbe essere uguale al prodotto di tutte le lunghezze di ciascuna lista di iperparametri sopra. Puoi eseguire la validazione aggiuntiva fornita per esserne sicuro.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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))
Modifica ed esegui il codice