【译】mahout in action 2.5 评估GroupLens数据集合

用这些在进行中的工具,我们将可能不仅讨论速度,也讨论我们创造和修改的推荐引擎的质量。虽然大量真实数据的例子仍然要过几章才能讲到,我们将花一些时间在一个小型数据集合上去快速评估性能。

[size=large]2.5.1 提取推荐器输入数据[/size]

GroupLens (http://grouplens.org/)是一个研究项目,它提供几个不同型号的数据集合,每一个都来自于真实的用户对电影的评分。这是几个有效的大型的真实世界的数据库中之一,在这本书中我们将会探究更多这种数据集合。从grouplens.org查找并下载“100K data set”,当前在 http://www.grouplens.org/node/73上可以得到。反归档(你下载的文件),在它内部,这个文件被称为ua.base。这是一个具有user IDs,item IDs,评级(首选项值)和一些额为信息的用tab键分隔的文件。

这个文件将会起作用吗?Tabs不是用逗号分开它的域,而且它也在终点包含一个额外的信息域。是的,这个FileDataModel的文件会起作用的。返回到listing 2.3中的以前的代码,在listing 2.3中我们建立了一个RecommenderEvaluator,努力进入ua.base的位置,用它来代替我们构造的这个小的数据文件。再一次运行它。这时,评估应该要花几分钟时间,因为它现在是基于100000的首选项值,而不是少数的首选项值。

最后,你应该得到0.9左右的数字。那并不算坏,虽然这个数字由于某种原因远离1到5这个规模上的一个整点,这个整点也不算好。难道我们尝试的这个独特的Recommender对这类数据来说并不是最好的?

让我们在这个数据库上test-drive一个“slope-one” recommender,在即将到来的这节里,我们将会在recommender algorithms自身上讨论一个简单的算法。这像替换RecommenderBuilder一样容易。这个RecommenderBuilder用org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommeder,像这样:

Listing 2.6 改变评估项目去运行一个SlopeOneRecommender
RecommenderBuilder recommenderBuilder = new RecommenderBuilder() { 
@Override
public Recommender buildRecommender(DataModel model) throws TasteException {
return new SlopeOneRecommender(model);
}
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值