使用推薦轉換
在前幾題中,你計算了每門課程的平均評分,並清理了一些課程資料。你將使用這些資料為 DataCamp 學生產生可行的推薦。
提醒一下,產生推薦的決策規則如下:
- 使用學生評分次數最多的技術領域。
- 排除學生已經評分過的課程。
- 從符合條件的課程中找出評分最高的 3 門課。
為了產生最終的推薦,你將使用平均課程評分,以及每位使用者符合條件的推薦清單,分別儲存在 avg_course_ratings 與 courses_to_recommend。你需要完成 transform_recommendations() 函式,將兩個 DataFrame 合併,並為每位使用者找出要推薦的評分最高的 3 門課程。
本練習屬於課程
Data Engineering 入門
練習說明
- 完成
transform_recommendations()函式: - 將
course_to_recommend與avg_course_ratings合併。 - 以使用者 ID 分組,並依
rating排序結果。 - 取前 3 列,並依使用者 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 = ____(____, ____)