指标

一个用于PyKEEN排名和分类指标的模块。

Metric()

指标的基础类。

ValueRange([lower, lower_inclusive, upper, ...])

一个值范围的描述。

RankBasedMetric()

基于排名的指标的基类。

ClassificationMetric()

分类指标的基础类。

类继承图

Inheritance diagram of pykeen.metrics.utils.Metric, pykeen.metrics.utils.ValueRange, pykeen.metrics.ranking.RankBasedMetric, pykeen.metrics.classification.ClassificationMetric

排名指标。

该模块包含各种基于排名的指标,这些指标将一组个人排名作为输入,并将它们总结为一个单一指标的指标,用于衡量排名性能的不同方面。

我们通常可以区分:

基础指标

这些指标直接对排名进行操作:

以下指标测量总结了排名的集中趋势

K 命中率指标与信息检索密切相关,衡量的是正确结果位于排名前 \(k\) 条目中的比例,即排名最多为 \(k\)

以下指标总结了排名的分散情况

最后,有一个简单的指标来存储聚合的排名数量

逆指标

逆指标是集中趋势度量的倒数。它们具有固定值范围\((0, 1]\)的优势,已知的最优值为\(1\)

调整后的指标

调整后的指标基于基础指标,但对其进行机会调整,参见 [berrendorf2020][hoyt2022]。所有调整后的指标都源自 pykeen.metrics.ranking.DerivedRankBasedMetric,并且对于给定的评估集,它们是基础指标的仿射变换,具有数据集依赖但固定的变换常数。因此,即使模型预测不再可用,只要评估集已知,也可以计算这些指标。

期望归一化指标

这些指标将指标除以其在随机排序下的期望值。因此,无论评估集如何,它们的期望值始终为1。它们源自pykeen.metrics.ranking.ExpectationNormalizedMetric,目前只有一个实现:

重新索引的指标

重新索引的指标减去期望值,然后将最优值归一化为1。因此,在随机排序下,它们的期望值为0,最优值为1,值越大表示结果越好。这些类派生自pykeen.metrics.ranking.ReindexedMetric,并且提供了以下实现:

z-调整指标

最后一种调整后的指标类型使用期望值以及随机排序下指标的方差来标准化指标,类似于z-score标准化。 z-score标准化指标的期望值为0,方差为1,正值表示更好的结果。虽然它们的值范围是无界的,但可以通过标准高斯分布的反累积密度函数来解释,以获取p值。这些类派生自 pykeen.metrics.ranking.ZMetric,并且有以下实现可用:

函数

generate_ranks(num_candidates[, ...])

从给定的每个排名任务的候选人数数组中生成随机排名。

generate_num_candidates_and_ranks(num_ranks, ...)

生成随机数量的候选者,以及一致的排名。

generalized_harmonic_numbers(n[, p])

计算从1到n(包括1和n)的广义调和数。

harmonic_variances(n)

预先计算逆秩分布的方差。

RankBasedMetric()

基于排名的指标的基类。

DerivedRankBasedMetric([base_cls])

一个基于排名的派生指标。

ExpectationNormalizedMetric([base_cls])

创建一个期望归一化指标的调整。

ReindexedMetric([base_cls])

一个用于创建期望归一化指标的mixin,最大值为1,期望为0。

ZMetric([base_cls])

一个经过z分数调整的指标。

ArithmeticMeanRank()

(算术)平均排名。

AdjustedArithmeticMeanRank([base_cls])

调整后的算术平均排名(AMR)。

AdjustedArithmeticMeanRankIndex([base_cls])

调整后的算术平均排名指数(AMRI)。

ZArithmeticMeanRank([base_cls])

z分数的算术平均排名。

InverseArithmeticMeanRank()

逆算术平均排名。

GeometricMeanRank()

(加权)几何平均排名。

AdjustedGeometricMeanRankIndex([base_cls])

调整后的几何平均排名指数(AGMRI)。

ZGeometricMeanRank([base_cls])

z几何平均排名(zGMR)。

InverseGeometricMeanRank()

逆几何平均排名。

HarmonicMeanRank()

调和平均排名。

InverseHarmonicMeanRank()

逆调和平均排名。

AdjustedInverseHarmonicMeanRank([base_cls])

调整后的MRR指数。

ZInverseHarmonicMeanRank([base_cls])

z逆调和平均秩(ZIHMR)。

MedianRank()

中位数排名。

InverseMedianRank()

逆中位数排名。

HitsAtK([k])

命中率 @ k。

AdjustedHitsAtK([base_cls])

调整后的K次命中(\(AH_k\))。

ZHitsAtK([base_cls])

k处的z得分命中数(\(ZAH_k\))。

StandardDeviation()

排名的标准差。

Variance()

等级的方差。

Count()

排名的计数。

NoClosedFormError

该指标未提供所请求操作的封闭式实现。

AffineTransformationParameters([scale, offset])

仿射变换的参数。

类继承图

Inheritance diagram of pykeen.metrics.ranking.RankBasedMetric, pykeen.metrics.ranking.DerivedRankBasedMetric, pykeen.metrics.ranking.ExpectationNormalizedMetric, pykeen.metrics.ranking.ReindexedMetric, pykeen.metrics.ranking.ZMetric, pykeen.metrics.ranking.ArithmeticMeanRank, pykeen.metrics.ranking.AdjustedArithmeticMeanRank, pykeen.metrics.ranking.AdjustedArithmeticMeanRankIndex, pykeen.metrics.ranking.ZArithmeticMeanRank, pykeen.metrics.ranking.InverseArithmeticMeanRank, pykeen.metrics.ranking.GeometricMeanRank, pykeen.metrics.ranking.AdjustedGeometricMeanRankIndex, pykeen.metrics.ranking.ZGeometricMeanRank, pykeen.metrics.ranking.InverseGeometricMeanRank, pykeen.metrics.ranking.HarmonicMeanRank, pykeen.metrics.ranking.InverseHarmonicMeanRank, pykeen.metrics.ranking.AdjustedInverseHarmonicMeanRank, pykeen.metrics.ranking.ZInverseHarmonicMeanRank, pykeen.metrics.ranking.MedianRank, pykeen.metrics.ranking.InverseMedianRank, pykeen.metrics.ranking.HitsAtK, pykeen.metrics.ranking.AdjustedHitsAtK, pykeen.metrics.ranking.ZHitsAtK, pykeen.metrics.ranking.StandardDeviation, pykeen.metrics.ranking.Variance, pykeen.metrics.ranking.Count, pykeen.metrics.ranking.NoClosedFormError, pykeen.metrics.ranking.AffineTransformationParameters