今天给大家推荐一个全面且严谨的面向学术界的推荐系统评测基准库Elliot,该库提供了36种全面的评测指标(比如准确性、偏差、公平性、新颖度以及多样性等评价指标),还提供了13种关于数据集的分离策略(Spliting methods),8种过滤策略(Filtering approaches),27种相似性选择,2种统计假设检验以及51种关于超参数搜索以及优化的策略。相比于其他的推荐算法基准库,可谓是比较全面且完整的。
该库对应的论文发表在SIGIR2021上,论文链接如下:
https://arxiv.org/abs/2103.02590
该库对应的github链接如下:
https://github.com/sisinflab/elliot
该算法库共包括了8个功能模块,其中包括数据加载(Loading)、数据过滤(Filtering)、数据分离(Spliting)、推荐模型(Models)、超参数优化、评测指标(Metrics)、模型输出(Outputs)以及假设检验等模块。
其中,数据加载模块可以引入除评分数据(Rating)之外的其他辅助信息(Side information),比如物品的特征信息以及知识图谱信息等;数据过滤模块提供了按照评分进行过滤的模式(Filter-by-rating)以及按照交互数量进行过滤的模式(K-core)。数据分离模块提供了按照时序、随机以及固定的模式进行数据划分。推荐模型模块实现了包括经典的推荐模型、基于图的推荐模型以及基于生成对抗网络的推荐模型等。超参数优化模块实现了网格搜索、模拟退火、贝叶斯优化以及随机搜索等策略。评价指标模块实现了准确性、覆盖率、新颖性、多样性、偏置、错误率以及公平性等相对全面的评价指标。另外,假设检验模块提供了Wilcoxon以及Paired t-test统计假设检验的选项。该算法库在数据过滤、数据分离以及超参数优化方面提供了全面的模式设置,通过下图与同类型推荐算法库(LibRec、RecBole以及RecQ等)的比较可以看出其全面性。
该算法库实现的推荐模型数量也比大部分的同类型的推荐算法库数量多。
该算法库与同类型的推荐算法库在评测指标上的比较,可以看出其在种类与数量上都是最多的。
该框架通过预先编译配置文件的方式可轻松实现推荐模型的实验复现,模型的配置文件如下图所示,涵盖了所使用的测试数据集名称以及路径、采样方式、对比方法等细节。
欢迎干货投稿 \ 论文宣传 \ 合作交流
推荐阅读
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。