如何在 Lenskit 3.0 中添加新指标?
How to add a new metric in Lenskit 3.0?
我是一名使用 Lenskit 的学生,我想为我的项目实施列表内相似度指标。如何从头开始实施新的 TopN 指标?我不习惯使用 Gradle/Java,实现我自己的重新排名算法很好,但我不知道如何开始实现一个指标,然后通过定义类型名称来添加它?..我有点迷路。
谢谢,
迪德里克
有两块:'
通过扩展TopNMetric
(或ListOnlyTopNMetric
)来实施您的新指标。 X
类型参数是 上下文对象 的类型,用于跟踪特定的评估实验(算法 + 数据集组合)。您可能需要从 createContext
中的推荐系统中提取用于计算 ILS 的任何数据,并将其保存在上下文对象中。上下文 class 通常是度量 class.
的静态内部 class
创建一个属性文件 META-INF/lenskit/topn-metrics.properties
,它将显示在您的 class 路径中(将其放在标准 Maven 中的 src/main/resources
或 Gradle 项目布局)将名称与您的指标相关联 class。你写
ils=my.package.ILSTOpNMetric
这都可以和你的算法代码放在同一个通用项目中。
我是一名使用 Lenskit 的学生,我想为我的项目实施列表内相似度指标。如何从头开始实施新的 TopN 指标?我不习惯使用 Gradle/Java,实现我自己的重新排名算法很好,但我不知道如何开始实现一个指标,然后通过定义类型名称来添加它?..我有点迷路。
谢谢, 迪德里克
有两块:'
通过扩展
TopNMetric
(或ListOnlyTopNMetric
)来实施您的新指标。X
类型参数是 上下文对象 的类型,用于跟踪特定的评估实验(算法 + 数据集组合)。您可能需要从createContext
中的推荐系统中提取用于计算 ILS 的任何数据,并将其保存在上下文对象中。上下文 class 通常是度量 class. 的静态内部 class
创建一个属性文件
META-INF/lenskit/topn-metrics.properties
,它将显示在您的 class 路径中(将其放在标准 Maven 中的src/main/resources
或 Gradle 项目布局)将名称与您的指标相关联 class。你写ils=my.package.ILSTOpNMetric
这都可以和你的算法代码放在同一个通用项目中。