ComenzarEmpieza gratis

Comparar modelos basados en ítems y en usuarios

Ya has visto dos enfoques distintos de KNN. El primero fue KNN ítem-ítem, donde usas la media de las \(k\) películas más similares que un usuario ha valorado para sugerir la valoración de una película que no ha visto. El otro enfoque fue KNN usuario-usuario, donde usas la media de las valoraciones que dieron a la película los \(k\) usuarios más similares para sugerir qué valoración daría el usuario objetivo.

Ahora, vas a comparar ambos y calcular qué nota le daría user_002 a Forrest Gump.

Tienes empezado el código del modelo user_rating_predictor (que predice según lo que usuarios similares dieron a la película) y de movie_rating_predictor (que predice a partir de las valoraciones que este usuario dio a películas similares).

KNeighborsRegressor ya se ha importado por ti.

Este ejercicio forma parte del curso

Creación de motores de recomendación en Python

Ver curso

Instrucciones del ejercicio

  • Crea un modelo de K-nearest neighbors usuario-usuario llamado user_knn.
  • Ajusta el modelo user_knn y luego predice sobre target_user_x.
  • De forma similar, ajusta un modelo de K-nearest neighbors ítem-ítem llamado movie_knn y luego predice sobre target_movie_x.

Ejercicio interactivo práctico

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

# Instantiate the user KNN model
user_knn = ____()

# Fit the model and predict the target user
user_knn.____(other_users_x, other_users_y)
user_user_pred = user_knn.____(target_user_x)
print("The user-user model predicts {}".format(user_user_pred))

# Instantiate the user KNN model
movie_knn = KNeighborsRegressor()

# Fit the model on the movie data and predict
movie_knn.____(other_movies_x, other_movies_y)
item_item_pred = movie_knn.____(target_movie_x)
print("The item-item model predicts {}".format(item_item_pred))
Editar y ejecutar código