Извлечение лучших рекомендаций из нескольких списков рекомендаций - PullRequest
1 голос
/ 21 мая 2011

У меня есть четыре списка рекомендаций, и скажем, списки A, B, C, D.Каждый список имеет одинаковое количество элементов и представлен в виде пар ключ-значение.Но мне нужно дать больше приоритетов (весов) для элементов списка A, чем списка B, и так далее.В конечном итоге мне нужно выбрать лучший набор предметов из четырех списков для окончательной рекомендации.

Вот пример использования:

List_A: {item1, weight1} {item2, weight1} {item3, weight1} {item4, weight1} {item5, weight1}

List_B: {item8, weight2} {item5, weight2} {item7, weight2} {item2, weight2} {item6, weight2}

List_C: {item11, weight3} {item23, weight3} {item34, weight3} {item24, weight3} {item5, weight3}

List_D: {item9, weight4 {item7, weight4 {item3, weight4{item2, weight4 {item5, weight4

Предположим, weight1 = 10, weight2 = 5, weight3 = 3, weight1 = 2

В соответствии с этими списками окончательный список должен иметь "item5" в качествеПервый пункт, потому что он существует во всех четырех списках.Как я могу получить другие лучшие рекомендации для этих четырех списков?

Спасибо.

1 Ответ

0 голосов
/ 21 мая 2011

Если я вас правильно понимаю, это должно быть немного просто.На более высоком уровне вам нужна структура данных как

Map<Item, Map<List, Integer>>, где конечное целое число равно number_of_occurferences.Когда у вас есть это, просто умножить number_of_occurferences * weight и бросить его вместе с сгенерированным значением в TreeMap (здесь также можно использовать приоритетную очередь)

Теперь вы можете получить список top-n из TreeMap.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...