数学不是我的强项,我在这里不知所措。
基本上,我所需要的只是一个简单的公式,它会给出1到5等级的加权评级。如果投票数很少,他们的影响力就会降低,评级会更接近平均值(在这种情况下我希望它是3,而不是所有其他评级的平均值。)
我尝试了一些不同的贝叶斯实现,但这些都没有成功。我相信我正在寻找的图形表示可以显示为:
___
/
___/
干杯
答案 0 :(得分: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)是i的投票数。
A是参数。我无法告诉你它的确切价值。这取决于“少数选票”是什么意思。一般来说,A的高值意味着你需要很多票才能获得不同于3的平均值,A值的低值意味着你需要很少的票来获得不同于3的值。
如果您认为5为“少数选票”,那么您可以采用A = 5.
在这个解决方案中,我假设每个产品都以A票数3开头而不是没有投票。
希望它有所帮助。
答案 1 :(得分:1)
(sum(ratings) / number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)
第一部分是非标准化的平均评级。随着个人评分的数量增加到10,第二部分会慢慢将评分提高到5。问题不足以让我提供更好的答案,但我相信上面的公式可能是你可以开始并适应的当你去时。不用说,你必须检查是否有任何评级(不要除以零)。