レコメンデーションのクエリ
これまでの演習では、コースのレコメンデーション表を日次で計算する方法を学びました。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))