補償不完整的資料
對多數資料集來說,大多數使用者只會對少數項目評分。正如你在上一個練習所看到的,如何處理沒有對某項目評分的使用者,會大幅影響模型的有效性。
在這個練習中,你將用不會偏誤現有資料的方式來填補遺漏值。
你會先計算每位使用者在其所有評分中的平均分數,接著用這個平均值把使用者的分數中心化到以 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.____(____)