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

Algorithm to calculate a general score and each criteria independently

想象一下像预订评论这样的事情,我们对每个评论都有一些按标准和一般评分的分数。

为了简单起见,我将使用字母,但假设 A 喜欢舒适,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 之间会有很大差异。 有更好的方法来做我正在寻找的事情吗?

正如 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