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

ทำความเข้าใจ K-nearest neighbors ทีละขั้นตอน

คุณได้เห็นแล้วว่า K-nearest neighbors สามารถนำมาใช้คาดการณ์ว่าผู้ใช้คนหนึ่งจะให้คะแนนสิ่งใดสิ่งหนึ่งอย่างไร โดยอาศัยข้อมูลจากกลุ่มคนที่มีรสนิยมคล้ายกัน

ในแบบฝึกหัดนี้ คุณจะทำตามกระบวนการนี้ด้วยตัวเอง เพื่อให้เข้าใจวิธีการทำงานได้อย่างชัดเจน

เพื่อให้เริ่มต้นได้ง่ายขึ้น ขั้นตอนการสร้าง similarity matrix ได้ดำเนินการไว้ให้แล้ว โดย user similarity matrix ถูกบรรจุไว้ใน DataFrame ชื่อ user_similarities

DataFrame นี้มีผู้ใช้แต่ละคนเป็นทั้งแถวและคอลัมน์ และค่าที่จุดตัดของแต่ละคู่คือคะแนนความคล้ายคลึงที่สอดคล้องกัน

ในแบบฝึกหัดนี้ คุณจะทำงานกับคะแนนความคล้ายคลึงของ user_001 หาเพื่อนบ้านที่ใกล้ที่สุด แล้วใช้คะแนนที่เพื่อนบ้านเหล่านั้นให้กับภาพยนตร์เรื่องหนึ่ง เพื่อคาดการณ์ว่า user_001 น่าจะให้คะแนนเท่าไรหากได้ดูภาพยนตร์เรื่องนั้น

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

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

ดูคอร์ส

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

  • หา ID ของเพื่อนบ้านที่ใกล้ที่สุด 10 คนของ User_A โดยดึงผู้ใช้ 10 อันดับแรกจาก ordered_similarities แล้วเก็บไว้เป็น nearest_neighbors
  • ดึงคะแนนที่ผู้ใช้ใน nearest_neighbors ให้ไว้จาก user_ratings_table แล้วเก็บเป็น neighbor_ratings
  • คำนวณคะแนนเฉลี่ยที่ผู้ใช้เหล่านั้นให้กับภาพยนตร์เรื่อง Apollo 13 (1995) เพื่อคาดการณ์ว่า User_A จะให้คะแนนเท่าไรหากได้ดูภาพยนตร์เรื่องนี้

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

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

# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)

# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____

# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)

# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())
แก้ไขและรันโค้ด