我有一个现有的网络应用程序,允许用户根据他们的难度“评分”项目。 (0到15)。目前,我只是简单地从每个用户的意见中取出平均值,并从MySQL中直接显示平均值。然而,我(和我的用户)越来越清楚,衡量这些数字会更合适。加权平均值
奇怪的是,几个小时的谷歌并没有太多的变化。我确实发现了两篇文章,展示了基于“贝叶斯过滤器”(我部分理解)的站点范围评分系统。 Here的一个例子:
的公式为:
WR =(V /(V + M))* R +(M /(V + M))* C
在哪里:
* WR=Weighted Rating (The new rating) * R=Average Rating (arithmetic mean) so far * V=Number of ratings given * M=Minimum number of ratings needed * C=Arithmetic mean rating across the whole site
我在这里不过斜坡上升根据每个项目的投票总数加权...的喜欢这个主意,因为我的网站上的难度水平可以大大范围从项目到项目,以“C”(arith整个网站的平均评分)无效。
所以,我的问题的重申:
使用MySQL,PHP,或两者兼而有之,我试着从aritmetic平均得到:
(5 + 5 + 4)/3 = 4.67 (rounded)
...的加权平均值:
rating/weight
5/2 (since it was given 2 times)
5/2
4/1
(sum[(rate * weight)])/(sum of weights)
(5 * 2) + (5 * 2) + (4 * 1)/(2 + 2 + 1)
(24)/(5)
= 4.8
一个问题需要一个问号,你的在哪里? – 2008-11-11 16:46:41