เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การจัดการกับข้อมูลที่ไม่สมบูรณ์

ในชุดข้อมูลส่วนใหญ่ ผู้ใช้จำนวนมากจะให้คะแนนสินค้าเพียงบางส่วนเท่านั้น จากแบบฝึกหัดที่ผ่านมา จะเห็นว่าวิธีจัดการกับผู้ใช้ที่ยังไม่มีคะแนนสำหรับสินค้านั้นๆ ส่งผลอย่างมากต่อความน่าเชื่อถือของโมเดล

ในแบบฝึกหัดนี้ จะมีการเติมข้อมูลที่หายไปด้วยค่าที่ไม่ทำให้ข้อมูลที่มีอยู่เกิดความเอนเอียง

ขั้นตอนคือ หาคะแนนเฉลี่ยที่ผู้ใช้แต่ละคนให้ไว้จากทุกการให้คะแนน จากนั้นใช้ค่าเฉลี่ยนี้ปรับคะแนนของผู้ใช้ให้มีศูนย์กลางที่ศูนย์ แล้วเติมค่าว่างด้วยศูนย์ ซึ่งในตอนนี้ถือเป็นคะแนนกลาง วิธีนี้จะช่วยลดผลกระทบต่อโปรไฟล์โดยรวมของผู้ใช้ แต่ยังคงสามารถเปรียบเทียบระหว่างผู้ใช้ได้

โหลด user_ratings_table ที่มีหนึ่งแถวต่อผู้ใช้หนึ่งคนไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้าง Recommendation Engine ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • หาค่าเฉลี่ยของคะแนนที่ผู้ใช้แต่ละคนให้ใน user_ratings_table แล้วเก็บไว้ในตัวแปร avg_ratings
  • ลบค่าเฉลี่ยของแต่ละแถวออกจากแถวนั้นใน user_ratings_table แล้วเก็บผลลัพธ์ไว้ในตัวแปร user_ratings_table_centered
  • เติมค่าว่างใน user_ratings_table_centered ที่สร้างขึ้นใหม่ด้วยค่าศูนย์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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.____(____)
แก้ไขและรันโค้ด