【发布时间】:2015-09-06 05:32:58
【问题描述】:
抱歉,我是推荐系统的新手,但我使用 apache mahout lib 编写了几行代码。嗯,我的数据集非常小,500x100,已知有 8102 个单元。
所以,我的数据集实际上是来自“Yelp 商业评级预测”竞赛的 Yelp 数据集的一个子集。我只选取评论最多的 100 家餐厅,然后选取 500 位最活跃的顾客。
我创建了 SVDRecommender,然后我评估了 RMSE。所以结果大约是 0.4... 为什么这么小?也许我只是不明白一些东西,我的数据集不是那么稀疏,但后来我尝试使用更大更稀疏的数据集,RMSE 变得更小(大约 0.18)!谁能解释我这样的行为?
DataModel model = new FileDataModel(new File("datamf.csv"));
final RatingSGDFactorizer factorizer = new RatingSGDFactorizer(model, 20, 200);
final Factorization f = factorizer.factorize();
RecommenderBuilder builder = new RecommenderBuilder() {
public Recommender buildRecommender(DataModel model) throws TasteException {
//build here whatever existing or customized recommendation algorithm
return new SVDRecommender(model, factorizer);
}
};
RecommenderEvaluator evaluator = new RMSRecommenderEvaluator();
double score = evaluator.evaluate(builder,
null,
model,
0.6,
1);
System.out.println(score);
【问题讨论】:
标签: machine-learning mahout recommendation-engine mahout-recommender