Еще в первые дни рекомендованных людей люди думали, что предсказание рейтингов было хорошей идеей. С тех пор это оказалось почти бесполезным. Если у вас достаточно места в пользовательском интерфейсе, чтобы показать несколько рекомендаций, вы собираетесь выбрать тот, который, по вашему мнению, будет выбирать пользователь с самыми высокими рейтингами? Это всегда приведет к плохой производительности. Прогнозирование прогноза - это то, что RMSE было разработано для измерения.
MAP @ k, с другой стороны, предназначен для поиска прогноза в рекомендации. Он измеряет, насколько хорошо данные обучения предсказывают, что находится в тестовых данных. Это также объясняет порядок рекомендаций. Недавно было обнаружено, что ранжирование/упорядочение рекомендаций оказывают гораздо большее влияние на эффективность рекомендаций, потому что, если вы можете показывать только ограниченное число, им лучше всего было бы заставить пользователя действовать.
MAP @ K учитывает также ранжирование в том смысле, что если вы измеряете MAP @ 1 и MAP @ 10, вы увидите убывающий MAP оценки если ваша первая рекомендация была более вероятно, будет в тестовых данных, чем десятый. Это означает, что вы заказываете рекомендации примерно правильно.
По этой причине мы используем MAP @ k. Разделите набор данных «золотой стандарт», который вы будете использовать в более поздних остатках, и сохраните раскол статического —, что-то вроде 80% -20% будет работать с разбивкой по случайному выбору или по времени, причем последние 20% используются в качестве тестового раскола. Создайте модель на 80%, затем для каждого взаимодействия в 20% получите рекомендации и посмотрите, содержат ли рекомендации элемент, который фактически взаимодействует с тестовым набором. Совокупность всех этих данных будет включена в расчет MAP @ k, k основан на том, сколько рекомендаций вы просите.
Смотрите эти ссылки и некоторые инструменты, которые мы должны сделать это: