ComenzarEmpieza gratis

Comparar métodos de recomendación

En este curso, has predicho cómo crees que un usuario valoraría películas que no ha visto utilizando varios métodos (valoraciones medias básicas, KNN, factorización de matrices). En este ejercicio final, vas a comparar las valoraciones promediadas y la factorización de matrices utilizando mean_squared_error() como medida de su rendimiento. Las predicciones basadas en medias se han cargado como avg_pred_ratings_df, mientras que las predicciones calculadas se han cargado como calc_pred_ratings_df. Los valores de referencia (ground truth) se han cargado como act_ratings_df.

Por último, la función mean_squared_error() se ha importado de sklearn.metrics para que la uses.

Este ejercicio forma parte del curso

Creación de motores de recomendación en Python

Ver curso

Instrucciones del ejercicio

  • Extrae las filas 0-20 y las columnas 0-100 (las áreas que quieres comparar) en los DataFrames act_ratings_df, avg_pred_ratings_df y calc_pred_ratings_df.
  • Crea una máscara del DataFrame actual_values que apunte solo a las celdas no vacías.
  • Calcula el error cuadrático medio entre las dos predicciones y los valores de referencia.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Extract the ground truth to compare your predictions against
actual_values = act_ratings_df.____[:20, :100].values
avg_values = avg_pred_ratings_df.____[:20, :100].values
predicted_values = calc_pred_ratings_df.____[:20, :100].values

# Create a mask of actual_values to only look at the non-missing values in the ground truth
mask = ~np.isnan(____)

# Print the performance of both predictions and compare
print(____(____[mask], avg_values[mask], squared=False))
print(____(____[mask], predicted_values[mask], squared=False))
Editar y ejecutar código