想象一下预订评论,我们根据标准和一般评级对每个评论进行评分。
为了简单起见,我会使用字母,但想象一下像舒适,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
对于全球评级,我有这个(只是一个基本的称重平均值):
对于每个标准的平均值,我正在进行算术平均值,然后将结果乘以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之间存在很大差异。 做我想要的更好的方法是什么?
答案 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