开始使用免费开始使用

对比基于物品与基于用户的模型

您已经了解了两种不同的 KNN 方法。第一种是物品-物品 KNN:使用用户已评分的、与目标电影最相似的前 \(k\) 部电影的平均分,来为用户尚未观看的电影给出预测评分。另一种是用户-用户 KNN:使用与目标用户最相似的前 \(k\) 位用户对该电影的评分平均值,来预测目标用户会给这部电影的评分。

现在,您将比较这两种方法,并计算 user_002 会给 Forrest Gump 的评分。

user_rating_predictor 模型(基于相似用户对该电影的评分来预测)和 movie_rating_predictor 模型(基于该用户对相似电影的评分来预测)的代码已为您准备好开头部分。

KNeighborsRegressor 已为您导入。

本练习是课程的一部分

用 Python 构建推荐引擎

查看课程

练习说明

  • 创建一个名为 user_knn 的用户-用户 K 近邻模型。
  • 拟合 user_knn 模型,然后在 target_user_x 上进行预测。
  • 同样地,拟合一个名为 movie_knn 的物品-物品 K 近邻模型,然后在 target_movie_x 上进行预测。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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))
编辑并运行代码