開始使用免費開始

補償不完整的資料

對多數資料集來說,大多數使用者只會對少數項目評分。正如你在上一個練習所看到的,如何處理沒有對某項目評分的使用者,會大幅影響模型的有效性。

在這個練習中,你將用不會偏誤現有資料的方式來填補遺漏值。

你會先計算每位使用者在其所有評分中的平均分數,接著用這個平均值把使用者的分數中心化到以 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.____(____)
編輯並執行程式碼