我有一些音乐项目,由用户评分,评分范围在1到5之间,我需要一个公式来获取得分最高的五个项目。
显然,从1000个不同用户那里得到3.5平均分数的项目比仅从5个用户那里得到4.9平均分数的项目得分更高...换句话说,我认为,如果一个项目吸引了人们评分,这表明该项目很有趣。因此,在计算中,votesCount参数需要有一个幂指数。(幂指数是多少?我不确定,所以我请你提供想法)。
我认为我们需要在函数中使用以下参数:votesAverage,votesCount。
我有一些音乐项目,由用户评分,评分范围在1到5之间,我需要一个公式来获取得分最高的五个项目。
显然,从1000个不同用户那里得到3.5平均分数的项目比仅从5个用户那里得到4.9平均分数的项目得分更高...换句话说,我认为,如果一个项目吸引了人们评分,这表明该项目很有趣。因此,在计算中,votesCount参数需要有一个幂指数。(幂指数是多少?我不确定,所以我请你提供想法)。
我认为我们需要在函数中使用以下参数:votesAverage,votesCount。
您可以使用贝叶斯估算来计算加权投票。
IMDb(互联网电影数据库)使用这个计算方法来确定它的IMDb Top 250。 (注意:IMDb使用10星,但使用5星公式相同)。
计算Top Rated 250 Titles的公式提供了一个真正的贝叶斯估算:
加权评分(WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C
其中:
- R = 电影的平均分(均值)= (评分)
- v = 电影的投票数 = (票数)
- m = 列入Top 250所需的最低投票数(目前为3000)
- C = 整个报告中的平均投票数(目前为6.9)
平衡系统的简单方法是添加一定数量的虚拟用户(假设数量为H),他们都会投票给所有文章的长期平均值A。 假设平均值为3,则公式变为:
得分=(投票数x投票平均值+ H x A)/(投票数+ H)
现在,当投票数增加时,虚构的平均投票者的相对影响会减少。
您可以通过实验或思考来设置H。例如,如果您认为20票足以建立相对较强的评级,则可以将H设置为5。说。
这个术语被称为贝叶斯估计。
一个常见的例子:
贝叶斯评分 =
(v*R + m*C)/(v+m)
其中:
R = 歌曲的平均评分
v = 对该歌曲的投票次数
m = 列出歌曲所需的最低投票次数(例如10)
C = 所有歌曲的平均投票
m=0
时 => 贝叶斯评分 = R
。我想在函数中保留 v
。 - Fitzchak Yitzchaki