开始使用免费开始使用

比较推荐方法

在本课程中,您使用多种方法(基础平均评分、KNN、矩阵分解)预测用户对未看过电影的评分。在最后这个练习中,您将使用 mean_squared_error() 来比较平均评分法与矩阵分解法的效果。 基于平均值的预测已加载为 avg_pred_ratings_df,基于计算得到的预测已加载为 calc_pred_ratings_df。 真实评分数据已加载为 act_ratings_df

最后,mean_squared_error() 函数已从 sklearn.metrics 导入,供您使用。

本练习是课程的一部分

用 Python 构建推荐引擎

查看课程

练习说明

  • act_ratings_dfavg_pred_ratings_dfcalc_pred_ratings_df 这三个 DataFrame 中,提取第 0–20 行与第 0–100 列(即您要比较的区域)。
  • 基于 actual_values DataFrame 创建一个只针对非空单元格的掩码。
  • 分别计算两种预测与真实值之间的均方误差。

交互式实操练习

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

# Extract the ground truth to compare your predictions against
actual_values = act_ratings_df.____[:20, :100].values
avg_values = avg_pred_ratings_df.____[:20, :100].values
predicted_values = calc_pred_ratings_df.____[:20, :100].values

# Create a mask of actual_values to only look at the non-missing values in the ground truth
mask = ~np.isnan(____)

# Print the performance of both predictions and compare
print(____(____[mask], avg_values[mask], squared=False))
print(____(____[mask], predicted_values[mask], squared=False))
编辑并运行代码