Построить рейтинг - PullRequest
       11

Построить рейтинг

5 голосов
/ 10 июля 2009

У меня есть система новостей, где вы можете оценивать Новости с 1 до 5 звезд. В базе данных я сохраняю счет, сумму и абсолютный рейтинг как целые до 100 (для вывода html, так что 5 звезд будет 100, 1 звезда будет 20 процентов. Теперь у меня есть три топлиста: Лучший рейтинг Наиболее просматриваемые С наибольшим количеством комментариев

Последние два просты, но первый довольно хитрый. До того, как я решил эту проблему, все это было большим беспорядком, и они просто поместили там 5 лучших по рейтингу новостей, так что на самом деле, если была новость с рейтингом 4.995 с 100 тыс. Голосов и еще одна с 5 звездами при 1 голосовании, "лучше рейтинг "один на вершине, даже если это смешно. В первый момент я ограничил список, чтобы в списке могли быть только новости с определенным количеством голосов (например, 10 или 20).

Но мне это не очень нравится. Есть ли хороший метод, чтобы сделать это - придать этим вещам «вес» со счетом или что-то в этом роде?

Ответы [ 3 ]

7 голосов
/ 10 июля 2009

Рассматривали ли вы использование взвешенной байесовской рейтинговой системы ? Он будет взвешивать результаты на основе количества голосов и самих значений голосов.

1 голос
/ 10 июля 2009

Вы можете изучить статистическую достоверность рейтинга, возможно, на основе среднего рейтинга, полученного для всех записей, и стандартного отклонения всех голосов. В то время как запись имеет средний рейтинг 5, если у вас есть только несколько голосов, вы не сможете сказать с уверенностью более 90%, что фактический рейтинг выше 4.7. Затем вы можете оценить записи на основе рейтинга, для которого у вас есть 90% уверенности.

Я не уверен, соответствует ли это вашему требованию быть простым.

0 голосов
/ 10 июля 2009

Вы можете использовать медиану пользовательских рейтингов в качестве общего рейтинга. У вас будет пять полей с eatch article, каждое из которых будет содержать количество оценок статьи за n звездочек. Затем вы должны выбрать поле с наибольшим значением из всех, и это будет ваш рейтинг. Он имеет преимущество в том, что игнорирует выбросы в рейтингах.

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