如何在 Lenskit 3.0 中添加新指标?

How to add a new metric in Lenskit 3.0?

我是一名使用 Lenskit 的学生,我想为我的项目实施列表内相似度指标。如何从头开始实施新的 TopN 指标?我不习惯使用 Gradle/Java,实现我自己的重新排名算法很好,但我不知道如何开始实现一个指标,然后通过定义类型名称来添加它?..我有点迷路。

谢谢, 迪德里克

有两块:'

  1. 通过扩展TopNMetric(或ListOnlyTopNMetric)来实施您的新指标。 X 类型参数是 上下文对象 的类型,用于跟踪特定的评估实验(算法 + 数据集组合)。您可能需要从 createContext 中的推荐系统中提取用于计算 ILS 的任何数据,并将其保存在上下文对象中。上下文 class 通常是度量 class.

  2. 的静态内部 class
  3. 创建一个属性文件 META-INF/lenskit/topn-metrics.properties,它将显示在您的 class 路径中(将其放在标准 Maven 中的 src/main/resources 或 Gradle 项目布局)将名称与您的指标相关联 class。你写

    ils=my.package.ILSTOpNMetric

这都可以和你的算法代码放在同一个通用项目中。