ทำให้ข้อมูลเป็นมาตรฐาน (Normalize)
ก่อนที่จะหาปัจจัยของเมทริกซ์คะแนนด้วยการแยกค่าเอกฐาน (Singular Value Decomposition) จำเป็นต้อง "ลบค่าเฉลี่ยออก" หรือที่เรียกว่าการทำ centering โดยการลบค่าเฉลี่ยของแต่ละแถวออกจากทุกค่าในแถวนั้น
ในแบบฝึกหัดนี้ คุณจะเริ่มเตรียม DataFrame คะแนนภาพยนตร์ที่ใช้งานอยู่ เพื่อให้พร้อมสำหรับการทำ Singular Value Decomposition
user_ratings_df มีข้อมูลหนึ่งแถวต่อผู้ใช้หนึ่งคน และหนึ่งคอลัมน์ต่อภาพยนตร์หนึ่งเรื่อง และได้โหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engine ด้วย Python
คำแนะนำการฝึกหัด
- หาคะแนนเฉลี่ยที่ผู้ใช้แต่ละคนให้กับภาพยนตร์ทั้งหมดที่ดู แล้วเก็บค่าเหล่านี้ไว้ในตัวแปร
avg_ratings - ลบค่าเฉลี่ยรายแถวออกจากแถวที่เกี่ยวข้อง แล้วเก็บผลลัพธ์ไว้ในตัวแปร
user_ratings_centered - สุดท้าย เติมค่าที่ขาดหายไปทั้งหมดใน
user_ratings_centeredด้วยศูนย์ - แสดงค่าเฉลี่ยของแต่ละคอลัมน์ใน
user_ratings_centeredเพื่อยืนยันว่าได้ลบค่าเฉลี่ยออกแล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get the average rating for each user
avg_ratings = user_ratings_df.____(axis=1)
# Center each user's ratings around 0
user_ratings_centered = user_ratings_df.____(____, axis=1)
# Fill in all missing values with 0s
user_ratings_centered.____(0, inplace=True)
# Print the mean of each column
print(user_ratings_centered.____(axis=1))