使用贝叶斯算法计算前10个产品

时间:2014-11-05 14:20:47

标签: c# algorithm average bayesian

所以在我用c#编写的系统中,用户可以用0.5分的块来对产品进行1到5的评分,所以基本上这些点都是 0.5,1.0,1.5,2.0,2.5,3.0, 3.5,4.0,4.5,5.0 现在我想计算顶级产品,并且假设所需的最少票数是10票。我必须提供2个样本产品,信息如下:

product 1 {

    total rating: 360.5,
    number of votes: 212
}

product 2 { 
    total rating: 28.0,
    number of votes: 12
}

所以基本上每种产品的平均评级是

product 1 -> 360.5 / 212 = 1.70

product 2 -> 28.0 / 12 = 2.33

现在遵循提到Here

的公式
weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:

R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 50 (currently 20)
C = the mean vote across the whole report (currently 2.01)

产品1的公式为:

(212 / (212 + 20)) * 1.70 + (20 / (212 + 20)) * 2.01 = 1.72

和产品2是:

(12 / (12 + 20)) * 2.33 + (20 / (12 + 20)) * 2.01 = 2.13

首先,我想知道我的计算是否正确,如果它基本上是一个200多票的产品,0.42点的差异仍低于12票的产品?这200多张票是否比产品1更受欢迎?

提前致谢

0 个答案:

没有答案