始める無料で始める

レコメンデーションのクエリ

これまでの演習では、コースのレコメンデーション表を日次で計算する方法を学びました。recommendations テーブルがデータウェアハウスに取り込まれたので、他のテーブルとすばやく結合して、DataCamp 受講生向けの重要な機能(パーソナライズドなマーケティングメール、受講生へのインテリジェントなおすすめなど)を作成できます。

この演習では、新しく作成した recommendations テーブルをどのように活用できるかを体験します。特定の評価しきい値に基づき、ユーザー ID ごとに上位のおすすめコースを自動取得する関数 recommendations_for_user() を作成します。

この演習はコースの一部です

データエンジニアリング入門

コースを見る

演習の手順

  • recommendations_for_user() 関数定義内のクエリを完成させてください。courses テーブルと結合する必要があります。
  • recommendations_for_user() 内の read_sql() 呼び出しを完成させてください。params 引数が不完全で、しきい値が不足しています。
  • 末尾のステートメントで定義した recommendations_for_user() 関数を実行し、結果を確認します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def recommendations_for_user(user_id, threshold=4.5):
    # Join with the courses table
    query = """
    SELECT title, rating FROM recommendations
    INNER JOIN ____ ON courses.course_id = recommendations.course_id
    WHERE user_id=%(user_id)s AND rating>%(threshold)s
    ORDER BY rating DESC
    """
    # Add the threshold parameter
    predictions_df = pd.read_sql(query, db_engine, params = {"user_id": user_id, 
                                                             "____": ____})
    return predictions_df.title.values

# Try the function you created
print(recommendations_for_user(12, 4.65))
コードを編集して実行