数学不是我的强项,我在这里亏本。加权平均分和评级
基本上,我需要的只是一个简单的公式,它会给出1至5的加权评分。如果票数很少,它们的影响力就会减小,评级对平均值的影响会更大(在这种情况下我希望它是3,而不是所有其他评级的平均值)。
我试过了几个不同的贝叶斯实现,但是这些都没有解决。我相信图形表示我正在寻找可能被显示为:
___
/
___/
干杯
数学不是我的强项,我在这里亏本。加权平均分和评级
基本上,我需要的只是一个简单的公式,它会给出1至5的加权评分。如果票数很少,它们的影响力就会减小,评级对平均值的影响会更大(在这种情况下我希望它是3,而不是所有其他评级的平均值)。
我试过了几个不同的贝叶斯实现,但是这些都没有解决。我相信图形表示我正在寻找可能被显示为:
___
/
___/
干杯
我应该这样做这样
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票而不是无票投票开始。
希望它有帮助。
正是我以后的样子。非常感谢! – Danten 2010-04-04 20:48:55
(sum(ratings)/number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)
第一部分是未归一化的平均评级。第二部分将逐渐将评分提高到5,因为个人评分的数量增加到10个。问题还不够清楚,我不能提供更好的答案,但我相信上述公式可能是您可以从头开始并适应的东西当你去时。不用说,你必须检查是否有任何评级(不要除以零)。
我觉得这个问题很适合http://mathoverflow.net/ – 2010-04-04 19:38:11
你也可以试试Netflix Prize论坛。 – dan04 2010-04-04 19:42:43
我不会除了在mathoverflow.net上的答案,它是科学论坛。 – 2010-04-04 20:04:17