数学不是我的强项,我在这里不知所措。
基本上,我所需要的只是一个简单的公式,该公式将给出 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) 是 i 的投票数。
A 是一个参数。我不能告诉你它的确切价值。这取决于您所说的“少数票”是什么意思。一般来说,A 的高值意味着您需要很多票才能获得与 3 不同的平均值,A 的低值意味着您需要很少的票才能获得与 3 不同的值。
如果您认为 5 为“少数票”,那么您可以取 A=5。
在这个解决方案中,我只是假设每个产品都以 A 投票开始,而不是没有投票。
希望能帮助到你。
(sum(ratings) / number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)
第一部分是未归一化的平均评分。随着个人评分数增加到 10,第二部分将逐渐将评分提高到 5。这个问题不够清楚,我无法提供更好的答案,但我相信上面的公式可能是你可以开始和适应的东西当你去时。不用说,您必须检查是否有任何评分(不要除以零)。