カシミアのニット

カシミヤのニット

日々のメモです

GW開発合宿でGoのレコメンドエンジンを作った

今週のお題ゴールデンウィーク2018」

開発合宿

GWを利用して同期の有志5人で開発合宿をしました.

場所は千葉県の東浪見駅から徒歩20分ほどの民泊で海まで徒歩5分という感じです.

東浪見駅はめちゃめちゃ自然あふれる場所で最寄りのコンビニも数キロ先という都会の喧騒とはかけ離れた場所でした.

f:id:lapis_zero09:20180506162005j:plain
東浪見

f:id:lapis_zero09:20180506162103j:plain
民泊

開発は個人で勝手にテーマを決めてやっていくスタイルです.

GAEやElixir, CTFなど各々がやりたいことをやりました.

僕は今更ながらGo入門してました.

やったこと

作ったのがこれです.

github.com

ユーザ/アイテムベースの協調フィルタリングを行うことができる簡素なレコメンドシステムです.

具体的には,ユーザのアイテム評価データからアイテム評価行列を作ってユーザ/アイテムの類似度を計算し, 類似のユーザ/アイテムを取得可能というものです.

f:id:lapis_zero09:20180506170525p:plain

類似度関数は以下をサポートしています.

普段は機械学習周りをやっててPythonなどリッチな言語を使ってライブラリで済んでしまうことも多いのでこういうのもいいです.

疲れ時は海に散歩に行ったり,アコギ持ってきてる人がいてみんなで歌ったり,終始酒を飲みながら開発をして最高でした.

github.com