Другие языки программирования и технологии

ПОМОГИТЕ! Нужна формула рассчета рейтинга фотографий! Или объяснение, как его посчитать! Выручайте!

Разрабатывается сайт в виде галереи из нескольких тысяч фотографий. Нужна формула для расчета рейтинга фотографий для составления топа самых популярных фотографий. Должны учитываться оценки пользователей (5-звездочная шкала) и количество этих оценок. Помогите, очень нужна формула! Ранее с таким не сталкивалась, поэтому вся надежда на вас!Если следовать формуле среднего арифметического, то к примеру если за фото проголосует 1 человек и поставит оценку 5, то рейтинг фото будет 5. А если за фото голосует 20 человек и ставит ему оценки 4 и 5, то у фото рейтинг примерно 4,5. То есть не учитывается количество проголосовавших. Топ-фотографий получится не корректным. Нужна корректная адекватная формула
Сергей Север
Сергей Север
1 610
Ага, а потом нужно будет отсекать тех пользователей, которые ставят пятерки _всем_, и так далее.. .
Сложную ты задачку загадала :))

В принципе, подойдет симметричная система оценок (-5 , -1, 0, 1, 5) -- а далее просто суммирование.

Тогда для фотографии вызывающей противоречивые мнения сумма будет близка к 0, а для той которая понравилась всем -- 5 * число проголосовавших.

Опять же, фотография набравшая 5 "четверок" будет примерно на уровне фотографии, взявшей одну "пятерку" :)
China Rahmetov
China Rahmetov
10 997
Лучший ответ
Можно как-нибудь усреднить.. .
Во-первых, арифметическое считать не по системе 1 2 3 4 5, а по системе -5 -1 0 1 5 - чтобы пятерка была в 5 раз лучше четверки (ну это сама подбирай) , а умножать среднее значение можно не на кол-во оценок, а скажем на логарифм (по какому именно основанию - выбирай опытным путем) от количества оценок, чтобы с ростом количества оценок рейтинг рос незначительно, и при этом было больше важно не сколько именно оценок, а на сколько порядков их больше. Но от среднего балла при этом скорее будет больше зависеть (если логарифм по не слишком маленькому основанию) .

P.S. если допустим основной контингент пользователей ставит пятерки, как на этом проекте - можно вообще взять форму расчета среднего что-то вроде -5 -3 -1 0 1 или в этом духе.. . А если единиц много, можно единицы отсекать и вообще не участвовать им в рейтинге, считая что единицы ставят пользователи, которые хотят подосрать чужую фотку. Но при этом нельзя сообщать пользователям об этом, они не должны знать, иначе подсирать будут двойками...