加权平均

郝鸿涛 / 2024-11-19

假设三个评委给一个选手打分: 85, 90, 95。三个评委评分的可信度分别为 0.8, 0.5, 0.2。请问如何计算该选手最后的分数?

一个简单的办法是:

import numpy as np 
scores = np.array([85, 90, 95])
cred = np.array([0.8, 0.5, 0.2])
final_scores = np.sum(scores * cred)
final_scores

132.0
这个方法有问题。

第一,从最后结果来看,分数大于 100,不很直观。

第二,这种方法意味着我们采纳评委一 80% 的意见,评委二 50% 的意见,评委三 20% 的意见。这样,我们总共采纳了 150% 的意见。

那怎么解决这个问题?最后的结果除以 1.5 (0.8 + 0.5 + 0.2) 就可以了。这样我们就采纳了 100% 的意见。

也可以这么理解。评委一,我们采纳其 0.8/1.5 的意见,评委二,采纳 0.5/1.5 的意见,评委三采纳 0.2/1.5 的意见。

最后的结果是分数乘以权重,然后结果加起来。但需要注意的是,这里的权重是每个可信度除以可信度之和。

final_scores /= np.sum(cred)
final_scores
88.0
#统计

最后一次修改于 2024-12-07