Как добавить новую метрику в Lenskit 3.0?
Я студент, использующий Lenskit, и я хотел бы реализовать показатель сходства Intra-List для моего проекта. Как я могу реализовать новую метрику TopN с нуля? Я не привык работать с Gradle/Java, было бы неплохо реализовать собственный алгоритм повторного ранжирования, но я не знаю, как начать реализацию метрики, а затем добавить ее, определив имя типа?.. Я немного потерян.
Спасибо, Дидерик
1 ответ
Есть две части:
Реализуйте свою новую метрику, расширяя
TopNMetric
(или жеListOnlyTopNMetric
).X
Параметр type - это тип объекта контекста, который используется для отслеживания конкретного оценочного эксперимента (алгоритм + набор данных). Вам, вероятно, потребуется извлечь любые данные, которые вы используете для вычисления ILS из рекомендателя вcreateContext
и сохраните его в своем объекте контекста. Класс контекста обычно является статическим внутренним классом метрического класса.Создать файл свойств,
META-INF/lenskit/topn-metrics.properties
, что покажет в вашем classpath (положить его подsrc/main/resources
в стандартном макете проекта Maven или Gradle), чтобы связать имя с классом вашей метрики. Там ты пишешьils=my.package.ILSTOpNMetric
Все это может жить в одном общем проекте с кодом вашего алгоритма.