X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Алгоритм подсчета рейтинга
pomp
pomp
Topic Starter сообщение 11.5.2011, 11:22; Ответить: pomp
Сообщение #1


Есть сайт фото-сток.
Проводиться конкурс, среди фотографий загруженных пользователями.
Продолжительность 90 дней.
Есть такие параметры для построения рейтинга:
Общее количество уникальных просмотров за все время;
Количество уникальных просмотров за 90 дней;
Количество оценок;
Сумма оценок;
Средний балл оценок;
Количество комментариев;

Был предложен такой алгоритм подсчета рейтинга фотографии:
Кол-во_ просмотра_за_90_дней * 1бал + кол-во_оценок * 5балов * общее_значение / кол-во_оценок + кол-во_комментариев * 10балов

Я посчитал такой алгоритм нелогичным. Допустим комментарии учитываются в рейтинге. Но если комментарий отрицательный("Мне не нравиться") - а идет в плюс рейтингу. Или преимущество получает фотография которая была раньше всего загружена.
Какие у вас есть предложения, советы, наблюдения для справедливого подсчета рейтинга? Буду признателен.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boolean
Boolean
сообщение 11.5.2011, 18:32; Ответить: Boolean
Сообщение #2


(pomp @ 11.5.2011, 14:22) *
Кол-во_ просмотра_за_90_дней * 1бал + кол-во_оценок * 5балов * общее_значение / кол-во_оценок + кол-во_комментариев * 10балов


SELECT `shows` + (
SELECT count( `rating` )
FROM `ratingvotes` WHERE `photo_id` =1 ) *5 * (
SELECT SUM( `rating` ) / COUNT( `rating` )
FROM `ratingvotes` WHERE `photo_id` =1 ) + (
SELECT count( `id` )
FROM `comments` WHERE `photo_id` =1 ) *10
FROM photos WHERE id =1


`ratingvotes`
id ip photoid rating
rating например 1 или -1 (int)

должно теоретически работать)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
сообщение 11.5.2011, 19:29; Ответить: Salikhoff_hb
Сообщение #3


pomp, а нельзя использовать как обычно + и -, писать ип, но если пользователь не проголосовал то ставить +(типа: Молчание знак согласия), если пользователь решил просмотреть еще раз это фото то разрешено ему пере голосовать или что нить подобное. Но могут быть и вообще большие замутки типа время провождения на этой странице 5 минут и т.п., но если пользователь отошел то не засчитывать этот голос(проверяем по времени, или движение мыши(не предполагаю даже как)), если правильно понял вопрос то вот как то так!
zBool, читать надо, он просил
Я посчитал такой алгоритм нелогичным. Допустим комментарии учитываются в рейтинге. Но если комментарий отрицательный("Мне не нравиться") - а идет в плюс рейтингу. Или преимущество получает фотография которая была раньше всего загружена.
Какие у вас есть предложения, советы, наблюдения для справедливого подсчета рейтинга? Буду признателен.
а не сделать запрос!:rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
samedi
samedi
сообщение 11.5.2011, 19:43; Ответить: samedi
Сообщение #4


должно теоретически работать)
просили по-моему не сделать, а предложить другой вариант, т.к. это не особо подходит, вы вообще читаете тему?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
сообщение 11.5.2011, 20:12; Ответить: Salikhoff_hb
Сообщение #5


samedi, а вы сами читаете? я вроде уже написал об этом!:maniac::pionertrava:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
Topic Starter сообщение 11.5.2011, 20:13; Ответить: pomp
Сообщение #6


(zBool @ 11.5.2011, 21:32) *
SELECT `shows` + (
SELECT count( `rating` )
FROM `ratingvotes` WHERE `photo_id` =1 ) *5 * (
SELECT SUM( `rating` ) / COUNT( `rating` )
FROM `ratingvotes` WHERE `photo_id` =1 ) + (
SELECT count( `id` )
FROM `comments` WHERE `photo_id` =1 ) *10
FROM photos WHERE id =1


`ratingvotes`
id ip photoid rating
rating например 1 или -1 (int)

должно теоретически работать)

Жесть)))))

FICO-077),вопрос не в накруте, вопрос в справедливости. Накрут обойти можно, а вот по каким критериям считать..... У меня тут пол дня мозговой штурм. Даже теорию вероятности хотел подключить) В итоге пока что решил считать только средний бал - и если есть совпадения, что бы не делить места, то выставлять их еще и по количеству проголосовавших. Но такой вариант меня тоже не устраивает. Победит тот у кого много друзей. Кто больше попросит проголосовать за его фотку. Наверно нужно подключать коэффициенты, и добавлять в расчет еще и количество просмотров. Не знаю...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
Topic Starter сообщение 11.5.2011, 20:14; Ответить: pomp
Сообщение #7


zBool, а запрос лучше будет так :rolleyes:
SELECT p . * , p.cview *1 +5 * p.rating + count( c.cat ) *10 AS top
FROM photo p
LEFT JOIN photo_comment c ON p.id = c.cat
LEFT JOIN view_archiv a ON p.id = a.pid
WHERE `active` = '1' AND a.id IS NULL
GROUP BY p.id
ORDER BY top DESC
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
сообщение 11.5.2011, 20:18; Ответить: Salikhoff_hb
Сообщение #8


pomp, ну уж если придумывать супер систему то вряд ли что можно напридумывать, вроде все уже известные способы используются. Если что нить только из искусственного интелекта сделать! Напиши на хабре в q&a, там есть люди творческие и для них лишний штурм их мозга не помешает!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
Topic Starter сообщение 11.5.2011, 20:21; Ответить: pomp
Сообщение #9


FICO-077), да в том то и дело что хотелось по проще. Тут уже интерес спортивный пошел. За справедливость!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Boolean
Boolean
сообщение 11.5.2011, 20:44; Ответить: Boolean
Сообщение #10


(pomp @ 11.5.2011, 23:14) *
zBool, а запрос лучше будет так :rolleyes:
SELECT p . * , p.cview *1 +5 * p.rating + count( c.cat ) *10 AS top
FROM photo p
LEFT JOIN photo_comment c ON p.id = c.cat
LEFT JOIN view_archiv a ON p.id = a.pid
WHERE `active` = '1' AND a.id IS NULL
GROUP BY p.id
ORDER BY top DESC


join попса))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Повышение рейтинга домена
Прокачка домена
4 Tutich 2548 5.12.2018, 17:56
автор: Iviga
Открытая тема (нет новых ответов) Конкурс от рейтинга тизерных систем Top-Tizer.com
0 santa91 1720 17.3.2017, 12:16
автор: santa91
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыКак сделать подсчет рейтинга плюсов и минусов на wordpress?
9 prolisk 9361 17.10.2016, 18:08
автор: prolisk
Открытая тема (нет новых ответов) Вставка готового php рейтинга
3 Stivi 3232 10.2.2014, 22:30
автор: -Bartle96-
Открытая тема (нет новых ответов) Парсинг рейтинга и сбор статистики Liveinternet
Быстро, качественно, индивидуальный подход
0 Dinamitt 3278 30.10.2013, 13:06
автор: Dinamitt


 



RSS Текстовая версия Сейчас: 19.4.2024, 9:38
Дизайн