NORA

雑食気味なひよっこプログラミング記録

問題がいっぱい。

今日は問題がいろいろと起きた。

GAEで推薦行うプログラムを動かそうかなーと考えていたら、

  • 最近はてブ数500オーバーした記事(記事数は5つ)をはてブしたはてなユーザー一覧を取得する。
  • 一覧のユーザーがはてブしたリンクを取得する。
  • ユーザー一覧&リンク集からデータセットを作成する。

この「一覧のユーザーがはてブしたリンクを取得する。」で恐ろしい時間が掛かる。12分たった時点でメモリ200MB超になり中断。はてな鯖にえらい負担掛かってたんじゃないかな。ほんと申し訳ないです、御免なさいはてなさん。

こりゃダメだ。ローカルでちょこちょこ動かすレベルのプログラムだこれ。

実際のデータセット

まず、ユーザー一覧を作成した時点で、ユーザー数が驚きの9121ユーザー。そりゃ9000ものユーザーについて、はてブ収集してたら無理に決まってますわ・・・。

ユーザー数絞って、ユーザーのはてブも最近のものに絞る。そうしてデータセット小さくしたらどうにかなるかな・・・?

ユーザー数を100人程度に制限した場合

ユーザー一覧を100人程度に制限すると、60秒以内に解析結果がでるようになった。この場合だとデータセットの規模が非常に小さくなり、現状行っているユーザーベースの協調フィルタリングの精度はあまりに残念なことになった。

サンプルコードではスコア0.083が最高値であるのに対して、0.034というスコアを叩き出す。どっちにしろこの方法では特に似ているユーザーはいないってことじゃないんですか?これ。

章2.7のアイテムベースの協調フィルタリングに期待しつつ今日は終わり/(^o^)\