Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Алгоритм выбора лучших и худших товаров |
Автор: proger 29.12.2010, 20:32 |
Здравствуйте, есть интернет магазин, в котором люди пишут отзывы о товарах, указывая ОЦЕНКУ и тип отзыва (положительный/отрицательный). Например за товар может быть 3 отзыва положительных (с баллами 5,7,6) и 1 отрицательный (с баллом 4). Хотел на сайте в каждой категории выводить 5 лучших и худших товаров на основе отзывов. Щас алгоритм выбора такой:
|
Автор: Akina 29.12.2010, 22:36 |
Можно придумать много вариаций, и все они будут по-своему верными и по-своему ошибочными. Вопрос не имеет смысла. |
Автор: VictorTsaregorodtsev 29.12.2010, 22:38 |
Выкиньте явный тип отзыва - введите положительность и отрицательность отзыва непосредственно в оценку. Как в школьных-ВУЗовских оценках. А далее - обычные статистические расчеты среднего и дисперсии для значений оценок по товару. Чем выше дисперсия - тем менее однородны (более разнонаправленные) оценки покупателей. Т.е. алгоритм таков - сначала берутся товары, у которых число отзывов превышает некоторый минимум (чтобы картина по ним сформировалась более-менее достоверная), далее они сортируются по средним значениям оценок, и для товаров с совпадающими средними проводится ранжирование еще и по дисперсии (больше дисперсия - хуже товар, т.к. он почему-то сильно нестабильно соответствует ожиданиям покупателей). Выводить на экран значения дисперсий не надо - только значения средних баллов. Средние можно округлять до целых значений (или брать не более одного-двух знаков после запятой), а то если считать с точностью в 6-7 значащих цифр (одинарная точность) - то может не потребоваться считать дисперсии, т.к. средние очень, очень редко будут совпадать при такой большой точности расчетов (либо средние будут совпадать только для товаров, всеми пользователями оцениваемых одним и тем же баллом - но тогда из-за отсутствия варьирования баллов дисперсии оценок будут нулевыми, т.е. тоже бесполезными для ранжирования товаров с одинаковым баллом друг относительно друга). |
Автор: proger 30.12.2010, 07:51 | ||
Спасибо большое за совет! |
Автор: Akina 30.12.2010, 09:20 |
Получив среднее и дисперсию, рекомендую посмотреть на выборку... если в ней есть выброс за пределы доверительного интервала - его лучше проигнорировать. |
Автор: proger 30.12.2010, 12:39 | ||
Как понять доверительный интервал, можно подробнее? |
Автор: Akina 30.12.2010, 12:57 |
http://tinyurl.com/25y5r52 |
Автор: proger 30.12.2010, 14:22 | ||
тупонул, спасибо! |
Автор: proger 30.12.2010, 14:45 | ||||||
А можете показать примерами на числах ![]() Например возьмем голоса (по 10 бальной шкале):
Дисперсия (D-M)
Квадрат (D-M)
стандартного отклонения, корень из 4,96 = 2,22 Получается, чем у товара меньше стандартное отклонение, тем он лучше! Теперь надо разобраться с доверительным интервалом .... |
Автор: proger 31.12.2010, 12:26 | ||||
Спасибо |
Автор: миг 10.1.2011, 21:43 |
смотря какие товары.. Если товары в разной потребительской категории например молоко и автомобиль, то сравнивать какой из них лучший это как то не правильно.. Ну, а если в одной потребительской категории например хонда и тойота. то на основе отзывов пользователей можно составить только субъективный рейтинг.. Кому-то понравиться цвет машины, кому-то сиденья, кому-то коробка передач, кому-то салон, кому-то мощность двигателя и т.д. |