学ぶ
会員の方
相談する
全5問。4問以上の正解で合格です。コースで学んだことを確かめましょう。
協調フィルタリングは、「ユーザーAとユーザーBの購買行動は似ている」のように、ユーザー同士やアイテム同士の類似度を求めて、似ている人が好んだものを勧める手法です。類似度の算出が肝になります。
復習する:協調フィルタリングとは?
内積は1×1+0×1+1×0=1、それぞれのベクトルの大きさは√2なので、cos類似度は1÷(√2×√2)=0.5です。cos類似度は-1から1の値をとり、1に近いほど2つのベクトルが似ていることを表します。
復習する:協調フィルタリングにおいて類似度を算出するためのアプローチ
類似度を計算するには、ユーザーごとに全アイテムの評価が並んだベクトルが必要です。そこでpivot_table関数でユーザー×アイテムの形に変え、評価していない欠損値はfillnaで0にしてから、cosine_similarityで類似度を求めました。
復習する:協調フィルタリングをPythonで実装してみようー!
オフライン評価は過去のデータを使った机上検証で、MovieLensで予測と実際のレビューを比べたのはこちらです。オンライン評価は、レコメンドを出すグループと出さないグループでABテストをするなどして、実際の効果を測ります。オフラインで良くても、オンラインで良いとは限りません。
復習する:協調フィルタリングで気を付けないといけないこと
類似度を求める前に、各ユーザーの点数からそのユーザーの平均点を引いて中心化すると、甘口・辛口の違いをならすことができます。
/ 5問 正解