2015-06-23 1 views
-2

Я хочу знать, как работают звезды. Я не понимаю его логики.Как работает рейтинговая система звезд?

Пример:

5 star - 300 people 
4 star - 45 people 
3 star - 100 people 
2 star - 99 people 
1 star - 10 people 

Всего 554 человек

Я хочу, чтобы преобразовать эти числа голосов в процентах, и вычислить все это, чтобы получить его в среднем

5 star - 40% (300 people) 
4 star - 10% (45 people) 
3 star - 21% (100 people) 
2 star - 20 % (99 people) 
1 star - 9% (10 people) 

всего 100%

I t - случайный процент. Это не правильный ответ.

Как я могу это достичь? Я не думаю, что если это правильный процесс рейтингов.

+1

Я не понимаю: есть ли у вас вопрос о математическом алгоритме или о том, как его развивать? –

+0

Это не проблема программирования. Это просто математика. 300/554 человека проголосовали 5 звезд. Это означает, что 54,15% всех избирателей оценили это 5 звезд. И так далее для других рейтингов –

+0

в чем вопрос? – FeedTheWeb

ответ

0

Прежде всего, получите общее количество людей, которые голосуют.

и используйте эту функцию для отображения процента.

star percentage = star total people vote * 100/total no of people vote. 

, например, если вы хотите, чтобы получить 5 звезд процентной ставки затем

5 звезд в процентах = 300 * 100/554

0

Просто некоторые основные математике.

Sum: 300 + 45 + 100 + 99 + 10 = 554 Votes 

Percentage by rating: 
5 Star: (300/554) * 100 = 54,15162455% 
4 Star: (45/554) * 100 = 8,122743682% 
3 Star: (100/554) * 100 = 18,05054152% 
2 Star: (99/554) * 100 = 17,8700361% 
1 Star: (10/554) * 100 = 1,805054152% 

Average: 
(5*300) + (4*45) + (3*100) + (2*99) + (1*10) = 2188 
2118/554 = 3,949458484 stars 
4

Я запутанные с до того, что речь идет?

Но первые некоторые математические:

5 star - 300 people 
4 star - 45 people 
3 star - 100 people 
2 star - 99 people 
1 star - 10 people 

Всего 554 человек

можно легко вычислить распределение голосов в процентах к звездам, препятствует проверке подразделения:

[count of people]/[total of people] => ratio of people 
ratio of x * 100 => % of x 

i.e: 
(300/554) * 100 = 54.1516245487 % of people 

и вычислить для всех

5 star - 300 people - 54.15 % of votes 
4 star - 45 people - 8.12 % of votes 
3 star - 100 people - 18.05 % of votes 
2 star - 99 people - 17.87 % of votes 
1 star - 10 people - 1.80 % of votes 

ошибки из-за округления: 100 - (сумма (%) = 99,99) = 0,01, так хорошо, чтобы раунду


однако это не то, что эти цифры вы пришли с похожими взглядами. Это, вероятно, потому, что код, который вы используете, не показывает процент людей, которые голосовали за что-то, но вместо этого он показывает оценку распределения голосов, а не как они.

Многие рейтинговые системы фактически подсчитывают голоса с различными весами, в зависимости от существующего распределения или приравнивают голоса по культурам.

Я датский, поэтому я использую эту культуру ссылки, например. Возьмем, к примеру, Сельская Дания. В этой культуре никто не использует ставки 5 или 1, если только вещь, которая оценивается, очень необычайно плохая или хорошая. На самом деле это также более вероятно, чтобы получить 1, чем 5. - но если вы получаете 2 или 4, не «близко к 3» Это на самом деле очень плохо или очень хорошо ..

В Urban Denmark вы получите больше выхода и легко проголосуете за 5, что является довольно посредственной работой. Также 1 для чего-то только потому, что у вас был плохой день.

Так что для обычного, но хорошего шоу, (следует оценить среднее 4) это было бы два распределения:

Rural:

5 stars - 1 people 
4 stars - 3 people 
3 stars - 10 people 
2 stars - 5 people 
1 stars - 1 people. 

Urban:

5 stars - 4 people 
4 stars - 5 people 
3 stars - 5 people 
2 stars - 3 people 
1 stars - 3 people. 

уведомления культурного разница четко выражена в этих составленных результатах.

Я не делаю это с его помощью вы можете прочитать следующее: http://www.harzing.com/download/respstyles.pdf

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

Я мог бы легко взвесить голоса сельских жителей и позволить 1 человеку, который осмелился нажать 5 звезд, получить дополнительный вес в голосах, а также дать людям, которые проголосовали 3 звезды, получить меньше очков. Это сделало бы два результата более похожими и облегчило бы для городского жителя сравнить результаты.

Но это действительно правильно. ? (выбрать городские голоса как норму и изменить другие, чтобы соответствовать), будет ли противоположный аргумент столь же хорошим?

весить 5 и 1 меньше в городских голосах и еще 3, чтобы сделать его более сопоставимым для сельского населения?

-

в вашем случае, кажется, что результаты переносятся веса мы не можем увидеть, как были найдены веса, но мы можем вычитать что-то из них.

вес:

5 star - 40%/54.15% ~= 0.74 
4 star - 10%/8.12% ~= 1.21 
3 star - 21%/18.05% ~= 1.16 
2 star - 20%/17.87% ~= 1.18 
1 star - 9%/1.8% ~= 5 

поэтому в данном случае отрицательный голос оценивается с большим весом, и положительным голосованием, дается меньше Wight.

Я бы ожидал, что сумма весов будет равна 1, но это не так, поэтому это может быть результатом ручной настройки результатов рейтингов, желаемого распределения (коммерческих интересов) или, возможно, просчет с вашей стороны.