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

เปรียบเทียบโมเดลแบบ item-based และ user-based

ตอนนี้คุณได้ศึกษาแนวทาง KNN สองแบบแล้ว แบบแรกคือ item-item KNN ซึ่งใช้ค่าเฉลี่ยคะแนนของภาพยนตร์ \(k\) เรื่องที่คล้ายกันมากที่สุดที่ผู้ใช้เคยให้คะแนนไว้ เพื่อประมาณคะแนนของภาพยนตร์ที่ยังไม่ได้ดู อีกแบบคือ user-user KNN ซึ่งใช้ค่าเฉลี่ยคะแนนที่ผู้ใช้ \(k\) คนที่คล้ายกันมากที่สุดให้กับภาพยนตร์เรื่องนั้น เพื่อประมาณคะแนนที่ผู้ใช้เป้าหมายจะให้

คราวนี้จะนำทั้งสองแบบมาเปรียบเทียบกัน และคำนวณว่า user_002 จะให้คะแนนภาพยนตร์ Forrest Gump เท่าไร

โค้ดสำหรับโมเดล user_rating_predictor (ที่พยากรณ์จากคะแนนของผู้ใช้ที่คล้ายกัน) และ movie_rating_predictor (ที่พยากรณ์จากคะแนนที่ผู้ใช้นี้ให้กับภาพยนตร์ที่คล้ายกัน) ได้เริ่มต้นไว้ให้แล้ว

KNeighborsRegressor ถูก import ไว้ให้แล้ว

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

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

ดูคอร์ส

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

  • สร้างโมเดล K-nearest neighbors แบบ user-user ชื่อ user_knn
  • Fit โมเดล user_knn จากนั้นพยากรณ์บน target_user_x
  • ในทำนองเดียวกัน ให้ fit โมเดล K-nearest neighbors แบบ item-item ชื่อ movie_knn จากนั้นพยากรณ์บน target_movie_x

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

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

# Instantiate the user KNN model
user_knn = ____()

# Fit the model and predict the target user
user_knn.____(other_users_x, other_users_y)
user_user_pred = user_knn.____(target_user_x)
print("The user-user model predicts {}".format(user_user_pred))

# Instantiate the user KNN model
movie_knn = KNeighborsRegressor()

# Fit the model on the movie data and predict
movie_knn.____(other_movies_x, other_movies_y)
item_item_pred = movie_knn.____(target_movie_x)
print("The item-item model predicts {}".format(item_item_pred))
แก้ไขและรันโค้ด