使用此处描述的威尔逊分数方程http://www.evanmiller.org/how-not-to-sort-by-average-rating.html,我正在对我的评分项目进行排序。但是,如果一个项目有 1 个反对票(和 0 个赞成票),它返回与一个有 1000 个反对票(和 0 个赞成票)的项目相同的分数(即 0 分)。
我想要么允许负威尔逊分数,以克服这个缺点,要么可能有人可能会提出另一种解决方案。
无论哪种方式,我都不确定如何改变这个方程/函数:
def ci_lower_bound(pos, n, confidence):
if n==0: return 0
z = 1.96
phat = 1.0*pos/n
score = (phat + z*z/(2*n) - z*math.sqrt((phat*(1-phat)+z*z/(4*n))/n))/(1+z*z/n)
return score
其中pos
是正面评分数,n
是评分总数,confidence
是指统计置信度。