Compararea modelelor bazate pe itemi și pe utilizatori
Ai explorat acum două abordări diferite ale KNN. Prima este KNN item-item, unde folosești media celor mai similari \(k\) filme pe care un utilizator le-a evaluat, pentru a estima ratingul pe care l-ar da unui film nevăzut. A doua abordare este KNN user-user, unde folosești media ratingurilor acordate filmului de cei mai similari \(k\) utilizatori, pentru a estima ratingul pe care utilizatorul țintă l-ar acorda.
Acum vei compara cele două abordări și vei calcula ce rating ar acorda user_002 filmului Forrest Gump.
Codul pentru modelul user_rating_predictor (care face predicții pe baza ratingurilor utilizatorilor similari) și pentru movie_rating_predictor (care face predicții pe baza ratingurilor acordate de acest utilizator unor filme similare) a fost deja început pentru tine.
KNeighborsRegressor a fost deja importat pentru tine.
Acest exercițiu face parte din cursul
Construirea motoarelor de recomandare în Python
Instrucțiuni pentru exercițiu
- Creează un model K-nearest neighbors user-user numit
user_knn. - Antrenează modelul
user_knn, apoi fă o predicție petarget_user_x. - Similar, antrenează un model K-nearest neighbors item-item numit
movie_knn, apoi fă o predicție petarget_movie_x.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))