【Python】user-basedな協調フィルタリングで映画を推薦する

ユーザーベース協調フィルタリングの基本を試してみました。

今回はmovie lensの映画のデータセットを用います。

 

流れとしては

① user×item行列を作成する

②user類似度行列をつくる

③あるユーザーAと類似度の高いユーザーを5人選出し、評点の平均をとる

④ユーザーAが未評価の映画で、評点の平均が高いTop-Nをピックアップする

です。では行きましょう!

 

① user×item行列を作成する

 

②user類似度行列をつくる

 

 

③あるユーザーAと類似度の高いユーザーを5人選出し、評点の平均をとる


 

④ユーザーAが未評価の映画で、評点の平均が高いTop-Nをピックアップする

 

というわけで、user1の方に対しては、movieIdが150,318,589あたりの映画を推薦するとよいということになりました。

最後まで読んでいただきありがとうございました。