ใช้งานการแปลงข้อมูลสำหรับระบบแนะนำคอร์ส
ในแบบฝึกหัดที่ผ่านมา คุณได้คำนวณคะแนนเฉลี่ยต่อคอร์สและทำความสะอาดข้อมูลคอร์สเรียบร้อยแล้ว ต่อไปจะนำข้อมูลนี้มาสร้างคำแนะนำคอร์สที่เหมาะสมสำหรับนักเรียน DataCamp
ทบทวนกฎในการสร้างคำแนะนำ:
- ใช้เทคโนโลยีที่นักเรียนให้คะแนนสูงสุด
- ยกเว้นคอร์สที่นักเรียนเคยให้คะแนนไปแล้ว
- เลือกคอร์สที่ได้รับคะแนนสูงสุด 3 อันดับแรกจากคอร์สที่มีสิทธิ์
ในการสร้างคำแนะนำขั้นสุดท้าย จะใช้คะแนนเฉลี่ยของคอร์สและรายการคำแนะนำที่มีสิทธิ์ต่อผู้ใช้ ซึ่งเก็บอยู่ใน avg_course_ratings และ courses_to_recommend ตามลำดับ โดยทำได้โดยการเติมโค้ดในฟังก์ชัน transform_recommendations() ซึ่งรวม DataFrame ทั้งสองชุดและค้นหาคอร์สที่มีคะแนนสูงสุด 3 อันดับแรกเพื่อแนะนำให้แต่ละผู้ใช้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Data Engineering เบื้องต้น
คำแนะนำการฝึกหัด
- เติมโค้ดในฟังก์ชัน
transform_recommendations(): - รวม
course_to_recommendกับavg_course_ratings - เรียงลำดับผลลัพธ์ตาม
ratingโดยจัดกลุ่มตาม user ID - แสดง 3 แถวแรกและเรียงลำดับตาม user ID
- เรียกใช้ฟังก์ชัน
transform_recommendations()ที่เพิ่งกำหนดด้วยอาร์กิวเมนต์ที่เหมาะสม เพื่อเก็บคำแนะนำต่อผู้ใช้ไว้ในตัวแปรrecommendations
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Complete the transformation function
def transform_recommendations(avg_course_ratings, courses_to_recommend):
# Merge both DataFrames
merged = courses_to_recommend.____(____)
# Sort values by rating and group by user_id
grouped = merged.sort_values("____", ascending=False).groupby("____")
# Produce the top 3 values and sort by user_id
recommendations = grouped.head(____).sort_values("____").reset_index()
final_recommendations = recommendations[["user_id", "course_id","rating"]]
# Return final recommendations
return final_recommendations
# Use the function with the predefined DataFrame objects
recommendations = ____(____, ____)