Comece agoraComece grátis

Criar modelos implícitos

Agora que você definiu todos os valores de hiperparâmetros, vamos pedir ao Spark para construir modelos suficientes para testar cada combinação. Para isso, um loop for é fornecido aqui. Siga as instruções abaixo para criar automaticamente esses modelos ALS. Nos exercícios seguintes, você vai executar esses modelos em conjuntos de dados de teste para ver qual deles tem o melhor desempenho.

O algoritmo ALS já foi importado para você. As listas que você criou no último exercício (ranks, maxIters, regParams, alphas) também já foram criadas para você.

Este exercicio faz parte do curso

Construindo mecanismos de recomendação com PySpark

Ver curso

Instruções do exercicio

  • Uma lista vazia chamada model_list é fornecida aqui. O loop for vai criar um modelo para cada combinação de hiperparâmetros recebida e colocá-lo em model_list.
  • Complete o loop for referenciando o conteúdo de cada lista, onde r representa os elementos da lista ranks, mi representa os elementos da lista maxIters, rp representa os elementos da lista regParams e a representa os elementos da lista alphas.
  • Imprima len(model_list) e também model_list para garantir que cada modelo foi criado. O tamanho deve ser igual ao produto dos comprimentos de cada lista de hiperparâmetros acima. Você pode executar a validação adicional fornecida para ter certeza.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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))
Editar e Executar Código