弥补不完整的数据
在大多数数据集中,大部分用户只会为少量项目打分。正如您在上一个练习中所见,如何处理某个项目没有评分的用户,会极大影响模型的可靠性。
在本练习中,您将用不会偏倚现有数据的信息来填补缺失值。
您将先计算每位用户在其所有评分中的平均得分,然后用该平均值将用户的评分居中到 0 附近。最后,您可以将空缺值填充为 0。此时 0 是中性分数,既尽量减少对用户整体画像的影响,又能让用户之间可比。
每位用户一行的 user_ratings_table 已为您加载。
本练习是课程的一部分
用 Python 构建推荐引擎
练习说明
- 计算
user_ratings_table中每位用户的平均评分,并保存为avg_ratings。 - 将每行的平均值从
user_ratings_table的对应行中减去,结果保存为user_ratings_table_centered。 - 将新创建的
user_ratings_table_centered中的空值填充为 0。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Get the average rating for each user
avg_ratings = user_ratings_table.____(axis=____)
# Center each users ratings around 0
user_ratings_table_centered = user_ratings_table.____(____, axis=0)
# Fill in the missing data with 0s
user_ratings_table_normed = user_ratings_table_centered.____(____)