用于独立计算总分和每个标准的算法

时间:2015-07-14 22:00:35

标签: algorithm math logic average weighted-average

想象一下预订评论,我们根据标准和一般评级对每个评论进行评分。

为了简单起见,我会使用字母,但想象一下像舒适,B本地化等等。可用评级为(1-4)

                  A   B   C   D 
hotel_review1  |  1   2   3   4 
hotel_review2  |  2   2   3   3
                   A   B   C   D
 user_weighing  |  2   3   2   3

对于全球评级,我有这个(只是一个基本的称重平均值):

enter image description here

对于每个标准的平均值,我正在进行算术平均值,然后将结果乘以user_weighing:

A - ((1+2)/2)*2/4 = 0.75
B - ((2+2)/2)*3/4 = 1.5
C - ((3+3)/2)*2/4 = 1.5
D - ((4+3)/2)*3/4 = 2.625
                    -----
                    6.375 / 4 = 1.60

所以,我的问题是我需要一个总得分,在我的情况下是2.55。但是,如果我独立查找每个分数,则2.55和1.60之间存在很大差异。 做我想要的更好的方法是什么?

1 个答案:

答案 0 :(得分:1)

正如Juhana在评论中所提到的,你需要除以权重之和,即10(2 + 3 + 2 + 3),而不是权重数,即4:

A: ((1+2)/2)*2/10 =  0.3
B: ((2+2)/2)*3/10 =  0.6
C: ((3+3)/2)*2/10 =  0.6
D: ((4+3)/2)*3/10 = 1.05
                   -----
                    2.55

然而,这是一个更简单的计算,如果你将评分的数量(2)和权重之和(10)留到最后,需要较少的操作:

A: (1+2)*2 =  6.0
B: (2+2)*3 = 12.0
C: (3+3)*2 = 12.0
D: (4+3)*3 = 21.0
            -----
             51.0 / (2*10) = 2.55
相关问题