Как добавить новую метрику в Lenskit 3.0?

Я студент, использующий Lenskit, и я хотел бы реализовать показатель сходства Intra-List для моего проекта. Как я могу реализовать новую метрику TopN с нуля? Я не привык работать с Gradle/Java, было бы неплохо реализовать собственный алгоритм повторного ранжирования, но я не знаю, как начать реализацию метрики, а затем добавить ее, определив имя типа?.. Я немного потерян.

Спасибо, Дидерик

1 ответ

Решение

Есть две части:

  1. Реализуйте свою новую метрику, расширяяTopNMetric (или же ListOnlyTopNMetric). X Параметр type - это тип объекта контекста, который используется для отслеживания конкретного оценочного эксперимента (алгоритм + набор данных). Вам, вероятно, потребуется извлечь любые данные, которые вы используете для вычисления ILS из рекомендателя в createContext и сохраните его в своем объекте контекста. Класс контекста обычно является статическим внутренним классом метрического класса.

  2. Создать файл свойств, META-INF/lenskit/topn-metrics.properties, что покажет в вашем classpath (положить его под src/main/resources в стандартном макете проекта Maven или Gradle), чтобы связать имя с классом вашей метрики. Там ты пишешь

    ils=my.package.ILSTOpNMetric

Все это может жить в одном общем проекте с кодом вашего алгоритма.

Другие вопросы по тегам