reXmeX是一个推荐系统评估指标库。
reXmeX包含了推荐系统评估的实用工具。首先,它提供了一个全面的推荐系统评估指标集合。其次,它包含了多种报告和绘制性能结果的方法。实现的指标涵盖了一系列知名指标和来自数据挖掘会议(ICDM、CIKM、KDD)及重要期刊的新提出指标。
引用
如果您在研究中发现RexMex有用,请考虑添加以下引用:
@inproceedings{rexmex,
title = {{rexmex: A General Purpose Recommender Metrics Library for Fair Evaluation.}},
author = {Benedek Rozemberczki and Sebastian Nilsson and Piotr Grabowski and Charles Tapley Hoyt and Gavin Edwards},
year = {2021},
}
入门示例
以下示例加载了一个包含必需的y_true
和y_score
键的合成数据集。该数据集有二元标签和预测概率分数。我们读取数据集并定义一个默认的ClassificationMetric
实例来评估预测。使用这个指标集,我们创建一个评分卡并获取预测性能指标。
from rexmex import ClassificationMetricSet, DatasetReader, ScoreCard
reader = DatasetReader()
scores = reader.read_dataset()
metric_set = ClassificationMetricSet()
score_card = ScoreCard(metric_set)
report = score_card.get_performance_metrics(scores["y_true"], scores["y_score"])
进阶示例
以下更高级的示例加载了相同的合成数据集,除了必需的y_true
和y_score
外,还包含source_id
、target_id
、source_group
和target group
键。使用source_group
键,我们对预测进行分组并返回性能指标报告。
from rexmex import ClassificationMetricSet, DatasetReader, ScoreCard
reader = DatasetReader()
scores = reader.read_dataset()
metric_set = ClassificationMetricSet()
score_card = ScoreCard(metric_set)
report = score_card.generate_report(scores, grouping=["source_group"])
评分卡
rexmex评分卡允许报告推荐系统性能指标,绘制性能指标图表并保存这些结果。我们的框架提供了7个评分、38个分类、18个排序和2个覆盖率指标。
指标集
指标集允许用户为标签-预测标签对计算一系列评估指标。我们提供了一个通用的MetricSet
类和带有预设指标的专门指标集,具有以下一般类别:
- 排序
- 评分
- 分类
- 覆盖率
排序指标集
展开查看指标集中的所有排序指标。
评分指标集
这些指标假设项目被明确评分,并且评分由回归模型预测。
展开查看指标集中的所有评分指标。
分类指标集
这些指标假设项目使用原始概率进行评分(可以二值化)。
展开查看指标集中的所有分类指标。
覆盖率指标集
这些指标衡量推荐系统对目录中可用项目和可能用户的覆盖程度。换句话说,衡量预测的多样性。
文档和报告问题
访问我们的文档,了解更多关于安装和数据处理、已实现方法的完整列表以及数据集的信息。
如果您发现任何异常情况,请开启一个问题并告诉我们。如果您需要某个特定方法,请随时开启一个功能请求。 我们致力于不断改进RexMex。
通过命令行安装
克隆仓库后,可以使用以下命令安装RexMex。
$ pip install .
开发时使用 -e/--editable
选项。
通过pip安装
可以使用以下pip命令安装RexMex。
$ pip install rexmex
由于我们经常创建新版本,偶尔升级包可能会有所帮助。
$ pip install rexmex --upgrade
运行测试
可以使用 tox
运行测试,如下所示:
$ pip install tox
$ tox -e py
引用
如果您在科学出版物中使用RexMex,我们将感谢您的引用。请参阅GitHub的内置引用工具。
许可证