2.5 Evaluating the GroupLens data set

GroupLens (http://www.grouplens.org/) が提供しているデータセットを使ってみようの回。

映画のリコメンデーションサイト MovieLens のデータが様々なサイズで提供されています。http://www.grouplens.org/node/73
今回はこのうち MovieLens 100k を使います。

前回 (http://d.hatena.ne.jp/akr4/20111121/1321878009) のコード例の FileDataModel のパスを書き換えてやるだけ。FileDataModel は csv でも tsv でもうまく読んでくれるそうです。

val model = new FileDataModel(new File("data/ml-100k/ua.base"))

AverageAbsoluteDifferenceRecommenderEvaluator で試すと 0.98 でした。1-5 の preference だからこの結果はまずまずですかな?


続いて Recommender を SlopeOneRecommender に切り替えてみます。

  lazy val slopeOne = new RecommenderBuilder {
    def buildRecommender(model: DataModel) = new SlopeOneRecommender(model) 
  }

AverageAbsoluteDifferenceRecommenderEvaluator の結果は 0.74 と出ました。GenericUserBasedRecommender より良い結果ですが、データセットによって変わりますよとのこと。

これで 2 章おわり。