mahout 为约会数据集推荐
2014-11-24 11:42
246 查看
在http://libimseti.cz中下载约会的数据集
里面的ratings.dat有257MB,以逗号分隔,包含用户ID,档案ID和评分(档案ID和用户ID不是采用同一个匿名方法)
这个数据集经过了预处理,剔除了生成评分个数不到20个的用户,也剔除了对每个档案都给出相同分值的用户
根据《mahout 实战》中所说,最优的配置是基于用户的推荐,采用欧氏距离,近邻数量为2.
由此写出的评估程序如下:
public static void evaluateDateData() throws IOException, TasteException
{
DataModel model = new FileDataModel(new File("F:\\mahout\\libimseti\\libimseti-complete\\libimseti\\ratings.dat"));
RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
RecommenderBuilder builder = new RecommenderBuilder(){
@Override
public Recommender buildRecommender(DataModel model)
throws TasteException {
// TODO Auto-generated method stub
UserSimilarity similarity = new EuclideanDistanceSimilarity(model);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
return new GenericUserBasedRecommender(model, neighborhood, similarity);
}
};
double score = evaluator.evaluate(builder, null, model, 0.95, 0.05);
System.out.println(score);
}
运行结果为0.8415841584158418
在这里的参数设为-Xmx1024m
里面的ratings.dat有257MB,以逗号分隔,包含用户ID,档案ID和评分(档案ID和用户ID不是采用同一个匿名方法)
这个数据集经过了预处理,剔除了生成评分个数不到20个的用户,也剔除了对每个档案都给出相同分值的用户
根据《mahout 实战》中所说,最优的配置是基于用户的推荐,采用欧氏距离,近邻数量为2.
由此写出的评估程序如下:
public static void evaluateDateData() throws IOException, TasteException
{
DataModel model = new FileDataModel(new File("F:\\mahout\\libimseti\\libimseti-complete\\libimseti\\ratings.dat"));
RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
RecommenderBuilder builder = new RecommenderBuilder(){
@Override
public Recommender buildRecommender(DataModel model)
throws TasteException {
// TODO Auto-generated method stub
UserSimilarity similarity = new EuclideanDistanceSimilarity(model);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
return new GenericUserBasedRecommender(model, neighborhood, similarity);
}
};
double score = evaluator.evaluate(builder, null, model, 0.95, 0.05);
System.out.println(score);
}
运行结果为0.8415841584158418
在这里的参数设为-Xmx1024m
相关文章推荐
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- 学习开源推荐引擎Mahout中的刷新数据的设计
- mahout协同过滤,连数据库数据,实现推荐
- 数据挖掘 --- Python实现KNN算法项目-约会推荐算法
- Mahout in Action 读书笔记chapter3 推荐数据的表示
- mahout推荐入门之评估GroupLens数据集
- mahout中布尔型数据推荐系统的生成与评估
- Mahout 对推荐数据的抽象表示(下部分)
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- mahout推荐10-尝试GroupLens数据集
- [mahout in action]mahout推荐引擎如何处理无rating数据
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- mahout推荐8-利用布尔型数据评估查准率和查全率
- Mahout 对推荐数据的抽象表示(上部分)
- Mahout in Action Chapter 3 推荐数据的表示
- mahout推荐5-偏好数据的表示
- 使用Mahout搭建推荐系统之入门篇2-玩转你的数据1
- Mahout对于GroupLens数据定制的推荐引擎
- 给大家推荐一个提供大量数据模型的网站