今天在优化网站搜索排序算法,由此引出一个关于“综合评分”的问题,并产生了一些思考,以下是以生活中的例子对这个问题做类比阐述。如果有更好的想法,欢迎多多交流!
关于“综合评分”
综合评分是获得全面发展程度较高的一种衡量标准。
在科技不断发展的今天,不管是为人处事,还是做事业,能够掌握足够多的信息,做到综合评分出众也会有很大的优势。
德智体美劳是对人的素质定位的基本准则,也是人类社会教育的趋向目标。
** 以下主要以“考试”为例来聊一聊综合评分的计算 **
综合评分如何计算?
其实,我们的现实生活中已经给我们了很多的例子。
上高中时,考试有语数外+理综/文综,多科成绩之和就是综合考评标准。
上大学时,单科的成绩也是由“考试得分”、“平时表现”两项组成,综合评分=考试得分 x 70% + 平时表现分 x 30%。
“考试”场景
这里对原始“考试”场景做一些修改:
- 有4个考试科目,分别是语文、数学、英语、体育。
- 每个科目的权重分别是:30%,30%,30%,10%。
- 那么计算综合评分的公式就是:
** 个人综合评分 ** = 语文得分 x 30% + 数学得分 x 30% + 英文得分 x 30% + 体育得分 x 10%
用表格举例如下:
上面计算公式成立的两个条件:
- 1:每个科目的满分是一样的
- 2:每个科目的满分都是100分
一个假设
** 每个科目都没有满分,学生只要有能力,单科的成绩可以是任意高分。**
这样以来,以上的两个条件都不再成立。同时,使用以上的计算公式得到的结果也不再有意义。
对这个假设的思考
仔细思考了这个问题,以上的“一个假设”如果真的存在,那么我们新的综合评分公式应该达到什么样的目的?
- 综合评分不能被单科成绩过度影响,同时单科特别优秀在综合评分中也要有所体现。
- 保证全面发展的学生得到较好的评分
- 多个学覇/学渣同时出现时,综合评分要有所区别。
如果这个假设存在,似乎没有更好的办法来解决。
一个解决办法:降低需求
我首先想到的办法是,降低需求。对每个学科设置一个最高分,比如200分,而不是上面提到的任意高分。那就是说,一个学生再牛X,也只能得到200分(也许他的能力可以得到2000分)。这样以来,依然可以用加权和方式来计算综合评分。
这样做会引出的一个小问题:就是单个科目中,本来有一个学生是可以得到2000分的,但现在只能拿到200分。这样以来,学渣和学覇的差距就减小了很多。看起来并没有什么大问题,但学覇的超强优势也被我们这个算法所掩盖。
这样做确实解决了问题,但这是最优的解决办法吗?
尝试的解决方法
主要思路:对每个科目的得分,等比缩放为百分制。然后再用“加权和”计算综合评分
缩放方式一:按最高分缩放
缩放方法:将单科的最高分缩放为100分,得到一个缩放比例。对其它学生的得分按这个比例进行缩放。
缩放方式二:按平均值缩放
具体方法:按得分最高的前N(这里取5做测试)个学生的平均分为基准,对所有学生的得分进行缩放。如果缩放后超过100分,按100分计算
所有科目得分缩放后,“百分制得分”计算加权和效果:
按平均值缩放的效果基本满意。如果您有更好的方式来计算这个综合评分,请不吝赐教!
最后,再附上一个例子说明动态计算得分的必要性:
图1展示未缩放(原始得分)进行综合得分计算,学生A的排名也就是并列第二。
问题:在数学这一科目中,学生A是有明显优势的,因此应该缩放,保证学生A的特殊才能得到充分展示
图2展示缩放后,学生A可以得到第一名。