Я хочу сравнить два алгоритма ранжирования. В этих алгоритмах клиент указывает некоторые условия в своем поиске. В соответствии с требованиями клиента, этот алгоритм должен назначать оценку для каждого элемента в базе данных и извлекать элементы с наивысшими оценками.
Я прочитал различные темы, связанные с моим вопросом на этом сайте, и искал в сети. Согласно моим поискам, наиболее релевантная статья, в которой объясняются некоторые метрики для сравнения алгоритмов ранжирования, была такова : Брайан Макфи и Герт Р.Г. Ланкриет, «Метрика обучения рангу», ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Я думаю, что prec @ k, MAP, MRR и NDCG - хорошие показатели для использования, но у меня есть проблема:
Мой алгоритм сортирует результаты, поэтому первый элемент в моем списке результатов является лучшим с самым высоким показателем, второй результат имеет второй лучший результат и так далее. Я ограничиваю свой алгоритм поиска, например, чтобы найти 5 лучших результатов. Результаты - самые лучшие 5 пунктов. Таким образом, точность будет равна 1. Когда я ограничиваю свой поиск, чтобы найти лучший результат, он находит лучший. Опять же, точность будет 1. Но проблема в том, что это неприемлемо для людей, которые видят этот результат.
Что я могу сделать? Как я могу сравнить эти алгоритмы и показать, что один лучше другого?