ComenzarEmpieza gratis

Recorriendo K-nearest neighbors

Acabas de ver cómo K-nearest neighbors puede usarse para inferir cómo alguien podría puntuar un ítem basándose en la sabiduría de una multitud (similar). En este ejercicio, recorrerás tú mismo este proceso para asegurarte de comprender bien cómo funciona.

Para empezar, como ya has generado matrices de similitud muchas veces, ese paso ya está hecho por ti: la matriz de similitud de usuarios está envuelta en un DataFrame cargado como user_similarities.

Esta tiene cada usuario como filas y columnas, y donde se cruzan está la puntuación de similitud correspondiente.

En este ejercicio, trabajarás con las puntuaciones de similitud de user_001, encontrarás a sus vecinos más cercanos y, basándote en las puntuaciones que esos vecinos dieron a una película, inferir qué puntuación podría darle user_001 si la viera.

Este ejercicio forma parte del curso

Creación de motores de recomendación en Python

Ver curso

Instrucciones del ejercicio

  • Encuentra los IDs de los 10 vecinos más cercanos de User_A extrayendo los 10 primeros usuarios en ordered_similarities y guárdalos como nearest_neighbors.
  • Extrae, de user_ratings_table, las puntuaciones que dieron los usuarios en nearest_neighbors y guárdalas como neighbor_ratings.
  • Calcula la puntuación media que estos usuarios dieron a la película Apollo 13 (1995) para inferir qué podría darle User_A si la hubiera visto.

Ejercicio interactivo práctico

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

# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)

# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____

# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)

# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())
Editar y ejecutar código