2010-04-04 119 views
3

数学不是我的强项,我在这里亏本。加权平均分和评级

基本上,我需要的只是一个简单的公式,它会给出1至5的加权评分。如果票数很少,它们的影响力就会减小,评级对平均值的影响会更大(在这种情况下我希望它是3,而不是所有其他评级的平均值)。

我试过了几个不同的贝叶斯实现,但是这些都没有解决。我相信图形表示我正在寻找可能被显示为:

 ___ 
    /
___/ 

干杯

+1

我觉得这个问题很适合http://mathoverflow.net/ – 2010-04-04 19:38:11

+0

你也可以试试Netflix Prize论坛。 – dan04 2010-04-04 19:42:43

+0

我不会除了在mathoverflow.net上的答案,它是科学论坛。 – 2010-04-04 20:04:17

回答

4

我应该这样做这样

1*num(1) + 2*num(2) + 3*num(3) + 4*num(4) + 5*num(5) + A*3 
----------------------------------------------------------- 
     num(1) + num(2) + num(3) + num(4) + num(5) + A 

其中num(i)是票数为我。
A是一个参数。我无法告诉你它的确切价值。这取决于你的意思是“少数选票”。一般A的高价值意味着您需要很多投票才能得到平均值不同于3的值,A的低值意味着您需要几张投票才能获得与3不同的值。

如果您认为5为“少数选票”,那么您可以取A = 5。

在此解决方案中,我假设每个产品都以3票而不是无票投票开始。

希望它有帮助。

+0

正是我以后的样子。非常感谢! – Danten 2010-04-04 20:48:55

1
(sum(ratings)/number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10) 

第一部分是未归一化的平均评级。第二部分将逐渐将评分提高到5,因为个人评分的数量增加到10个。问题还不够清楚,我不能提供更好的答案,但我相信上述公式可能是您可以从头开始并适应的东西当你去时。不用说,你必须检查是否有任何评级(不要除以零)。