レコメンダー変換を使う
直前のいくつかの演習で、コースごとの平均評価を計算し、コースデータのクレンジングを行いました。ここでは、そのデータを使って DataCamp 受講生に有効なおすすめを作成します。
復習として、レコメンデーション作成の判断ルールは次のとおりです。
- 受講生が最も多く評価した技術領域を使う。
- 受講生がすでに評価したコースは除外する。
- 条件を満たすコースから、評価が高い上位3件を見つける。
最終的なおすすめを作成するために、平均コース評価と、ユーザーごとの候補コース一覧(それぞれ avg_course_ratings と courses_to_recommend に保存)を使用します。これらを transform_recommendations() 関数で結合し、ユーザーごとにおすすめする評価上位3コースを見つけます。
この演習はコースの一部です
データエンジニアリング入門
演習の手順
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 = ____(____, ____)