ComenzarEmpieza gratis

Evaluación del modelo mediante el MSE

Después de generar las valoraciones previstas a partir de los datos de prueba utilizando el modelo ALS, en esta última parte del ejercicio prepararás los datos para calcular el error cuadrático medio (MSE) del modelo. El MSE es el valor medio de (original rating – predicted rating)**2 para todos los usuarios e indica el ajuste absoluto del modelo a los datos.

Para hacer esto, primero organizarás los RDD ratings_final y predictions para formar una tupla de ((user, product), rating)). En ambos RDD, la asignación es:

0: user
1: product
2: rating

A continuación, unirás los RDD transformados y, por último, aplicarás una función de diferencia de cuadrados junto con mean() para obtener el MSE.

Recuerda que tienes sc de SparkContext disponible en tu espacio de trabajo. ratings_final y el RDD predictions también están ya disponibles en tu espacio de trabajo.

Este ejercicio forma parte del curso

Fundamentos de big data con PySpark

Ver curso

Instrucciones de ejercicio

  • Organiza el RDD ratings para hacer ((user, product), rating).
  • Organiza el RDD predictions para hacer ((user, product), rating).
  • Une el RDD de previsión con el RDD de valoraciones.
  • Evalúa el modelo utilizando el MSE entre la valoración original y la valoración prevista e imprímelo.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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 y ejecutar código