2.5 评估 GroupLens数据集

本文介绍了如何利用GroupLens提供的真实世界数据集,特别是100K数据集,来快速评估推荐引擎的性能。通过构建RecommenderEvaluator并在ua.base数据集上运行,我们可以对推荐器进行质量评估。实验结果表明,尽管得分并非最佳,但该方法为理解推荐系统的实际表现提供了有价值的见解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

2.5.1 提取推荐器输入数据

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对这类数据来说并不是最好的?


2.5.2 体验一下其他的推荐器

让我们在这个数据库上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); 
  } 
}; 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值