Алгоритм расчета общего балла и каждого критерия независимо

Представьте себе что-то вроде отзывов о бронировании, где у нас есть для каждого отзыва несколько баллов по критериям и общий рейтинг.

Для простоты я буду использовать буквы, но представьте себе, как 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. Есть лучший способ сделать то, что я ищу?

1 ответ

Решение

Как упоминала Джухана в комментариях, вам нужно поделить на сумму весов, которая составляет 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
Другие вопросы по тегам