Compensar datos incompletos
En la mayoría de los conjuntos de datos, la mayoría de usuarios habrá valorado solo un número reducido de ítems. Como viste en el ejercicio anterior, cómo trates a los usuarios que no tienen valoraciones para un ítem puede influir mucho en la validez de tus modelos.
En este ejercicio, vas a rellenar los datos faltantes con información que no sesgue los datos que ya tienes.
Obtendrás la puntuación media que cada usuario ha dado en todas sus valoraciones y, después, usarás esa media para centrar las puntuaciones de los usuarios alrededor de cero. Por último, podrás rellenar los valores vacíos con ceros, que ahora es una puntuación neutral, minimizando el impacto en su perfil global, pero permitiendo igualmente la comparación entre usuarios.
user_ratings_table, con una fila por usuario, ya se ha cargado por ti.
Este ejercicio forma parte del curso
Creación de motores de recomendación en Python
Instrucciones del ejercicio
- Calcula la media de las valoraciones dadas por cada usuario en
user_ratings_tabley guárdala comoavg_ratings. - Resta las medias de cada fila a su correspondiente fila en
user_ratings_tabley guarda el resultado comouser_ratings_table_centered. - Rellena los valores vacíos del nuevo
user_ratings_table_centeredcon ceros.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Get the average rating for each user
avg_ratings = user_ratings_table.____(axis=____)
# Center each users ratings around 0
user_ratings_table_centered = user_ratings_table.____(____, axis=0)
# Fill in the missing data with 0s
user_ratings_table_normed = user_ratings_table_centered.____(____)