Comece agoraComece grátis

Construir um modelo ALS

Vamos especificar seu primeiro modelo ALS. Complete o código abaixo para construir seu primeiro modelo ALS.

Lembre-se de que você pode usar o método .columns no data frame ratings para ver os nomes das colunas que contêm os dados de usuário, filme e avaliações. O Spark precisa saber os nomes dessas colunas para executar o ALS corretamente.

Este exercicio faz parte do curso

Construindo mecanismos de recomendação com PySpark

Ver curso

Instruções do exercicio

  • Antes de construir nosso modelo ALS, precisamos dividir os dados em dados de treinamento e dados de teste. Use o método randomSplit() para dividir o dataframe ratings em training_data e test_data usando, respectivamente, uma divisão de 0.8/0.2 e um seed para o gerador de números aleatórios de 42.
  • Informe ao Spark quais colunas contêm userCol, itemCol e ratingCol. Use o método .columns se necessário. Complete os hiperparâmetros. Defina rank como 10, maxIter como 15, regParam (ou lambda) como .1, coldStartStrategy como "drop", o argumento nonnegative deve ser True e, como nossos dados contêm avaliações explícitas, defina o argumento implicitPrefs como False.
  • Agora ajuste o modelo als à parte training_data dos dados ratings chamando o método als.fit() sobre o training_data fornecido. Chame o modelo ajustado de model.
  • Gere previsões na parte test_data dos dados ratings chamando o método model.transform() sobre o test_data fornecido. Chame as previsões de test_predictions. Fique à vontade para visualizar as previsões chamando o método .show() em test_predictions

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Split the ratings dataframe into training and test data
(training_data, test_data) = ratings.____([____, ____], seed=42)

# Set the ALS hyperparameters
from pyspark.ml.recommendation import ALS
als = ALS(userCol="____", itemCol="____", ratingCol="____", rank =____, maxIter =____, regParam =____,
          coldStartStrategy="____", nonnegative =____, implicitPrefs = ____)

# Fit the mdoel to the training_data
____ = ____.fit(____)

# Generate predictions on the test_data
____ = ____.transform(____)
test_predictions.show()
Editar e Executar Código