Мне нужно отсортировать товары по рейтингу пользователей.
Предположим, у нас есть 3 продукта { a , b , c }, и у нас есть отзывы пользователей об этих продуктах.
Неважно, какой пользователь даст нам обратную связь (этот вопрос не о корреляционной фильтрации, если вы с ней знакомы - интересы пользователя здесь не так)
Каждая из этих строк представляет собой отзывы пользователей, когда они пытались сравнить 3 продукта:
a 150 баллов - b 0 баллов (этот пользователь только что рассказал нам, что он думает о 2 продуктах a и b и в сравнении a и b он считает, что если он даст 150 баллов, то б стоит 0 баллов)
a 150 баллов - c 20 баллов
c 200 баллов - a 10 баллов (несмотря на предыдущий этот пользователь считает, что c лучше a)
a 200 баллов - b 40 баллов - c 100 баллов
a 150 баллов - b 50 баллов
a 150 баллов - b 20 баллов
(Эти рейтинги являются лишь примерами, и в реальном мире количество продуктов и рейтингов намного больше, чем это)
Теперь мне нужен алгоритм для определения рейтинга товара по голосам пользователей. На мой взгляд, лучший способ - описать эту проблему с помощью графика корреляции и связать все продукты друг с другом.
Любая помощь или советы приветствуются.
/ ******************************************* ************************************* /
Вы не можете просто добавить баллы и рассчитать среднее значение баллов товара
Потому что важно, как он получил свои очки, предположим, что a набрал 800 очков против b - тогда c получит 10 очков против a , как это :
a 200 - b 0
a 200 - b 0
a 200 - b 0
a 200 - b 0
c 10 - a 0 (это означает, что c лучше, чем a)
так определенно a лучше, чем b , но с небольшими 10 баллами c получил лучший ранг от a
/ ********************************************** ********************************** /