4

数学不是我的强项,我在这里不知所措。

基本上,我所需要的只是一个简单的公式,该公式将给出 1 到 5 的加权评分。如果选票很少,它们的影响力较小,评分更接近平均水平(在这种情况下,我希望它为 3,而不是所有其他评级的平均值)。

我尝试了几种不同的贝叶斯实现,但都没有成功。我相信我正在寻找的图形表示可以显示为:

     ___
    /
___/

干杯

4

2 回答 2

5

我会这样做

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 投票开始,而不是没有投票。

希望能帮助到你。

于 2010-04-04T19:56:27.217 回答
1
(sum(ratings) / number(ratings)) * min(number(ratings), 10)/max(number(ratings), 10)

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

于 2010-04-04T19:43:30.723 回答