ComeçarComece gratuitamente

Avaliação do modelo usando MSE

Depois de gerar as classificações previstas a partir dos dados de teste usando o modelo ALS, nesta parte final do exercício, você preparará os dados para calcular o erro quadrático médio (MSE) do modelo. O MSE é o valor médio do (original rating – predicted rating)**2 para todos os usuários e indica o ajuste absoluto do modelo aos dados.

Para fazer isso, primeiro você organizará os RDDs ratings_final e predictions para formar uma tupla de ((user, product), rating)). Em ambos os RDDs, o mapeamento é:

0: user
1: product
2: rating

Em seguida, você unirá os RDDs transformados e, por fim, aplicará uma função de diferença ao quadrado junto com mean() para obter o MSE.

Lembre-se de que você tem um SparkContext sc disponível em seu espaço de trabalho. Além disso, ratings_final e predictions RDD já estão disponíveis em seu espaço de trabalho.

Este exercício faz parte do curso

Fundamentos de Big Data com PySpark

Ver Curso

Instruções de exercício

  • Organize o RDD ratings para criar ((user, product), rating).
  • Organize o RDD predictions para criar ((user, product), rating).
  • Faça a junção do RDD de previsão com o RDD de classificações.
  • Avalie o modelo usando o MSE entre a classificação original e a classificação prevista e imprima.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))

# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))

# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)

# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))
Editar e executar código