2008-10-05から1日間の記事一覧

2章 その10

これまで、あるユーザに似たユーザリストを計算してから、似たユーザの持つリンクや映画をレコメンドしてきた。これをユーザベースの協調フィルタリング呼ぶらしい。 それに対して、あるアイテムがあり、それに似ているかどうか重み付けされたスコアを持つア…

2章 その9

続き。 1ユーザあたり15件では足りないので、最近の100件を取得できるようにfillItem関数を修正 http://www.bitbucket.org/shokai/collective-intelligence-study/changeset/89c724b7af46/ # すべてのユーザによって投稿されたリンクを取得 def fillItems(us…

2章 その8

続き。これで23ページ、deliciousのレコメンデーションまでできた http://www.bitbucket.org/shokai/collective-intelligence-study/src/0082469f4612/delicious.rb delicious.rbにget_userposts関数を追加 # 指定ユーザのpostをできるだけ全部取ってくる de…

2章まで終わった

作業内容はbitbucketにアップした http://www.bitbucket.org/shokai/collective-intelligence-study/ この本面白いなー。 情報数学とか習ってないけど数式が出てこなくてコードが具体的だからなんとかついて行ける。ここまで15時間ぐらいかかった。 Rubyにも…

2章 その13

p.29より、今度はアイテムベースの協調フィルタリングで推薦をする irbで >> itemsim = c.calculateSimilarItems(prefs,50) 100/1664 200/1664 300/1664 1664件読み込むのに3分ぐらいかかる 87番のユーザに推薦 >> pp c.getRecommendedItems(prefs, itemsim,…

2章 その12

p.27より、 ミネソタ大のGroupLens Projectによって作られた映画の評価データセットを使う。MovieLens(http://www.grouplens.org/node/73) mkdir data mkdir data/movielens cd data/movielens wget http://www.grouplens.org/system/files/ml-data_0.zip un…

2章 その11

その10で、ある映画に似ている映画とその類似度を取れるようになった。 自分がこれまで評価した映画に付けたスコアと、まだ見ていない映画との類似度を使って、まだ見ていない映画に何点をつけるかを予測する。 p.26~27より recommendations.rb にgetRecomme…