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
Instrucciones del ejercicio
- Crea un modelo de K-nearest neighbors usuario-usuario llamado
user_knn. - Ajusta el modelo
user_knny luego predice sobretarget_user_x. - De forma similar, ajusta un modelo de K-nearest neighbors ítem-ítem llamado
movie_knny luego predice sobretarget_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))