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
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(____))