新高考适配位次转换算法说明
对于第一次进行新高考的省份来说,如何参考历年数据是最核心的问题;对应到实际数据和算法上,即要解决两个关键点:
1.不分文理的选科专业如何对应到历年的分文理专业
2.历年分文理的录取排名如何换算到不分文理的排名
一、关键点1——招生/录取专业对应
这个问题本身不复杂,但很繁琐,因为数据的边界情况很难穷尽。
1.如果历年招生计划的专业名称没有变化,例如2016-2019年A大学的B专业招生名称是“计算机科学与技术”,2020年的招生名称也是“计算机科学与技术”,那可以直接对应。
2.如果历年的招生计划专业名称发生了变化(变化原因有很多,例如改名、批次变更、合并等等),例如2016-2019年A大学的B专业招生名称是“计算机科学与技术(中外合办)”,2020年的招生名称改成“计算机科学与技术(中外合作办学)”,这种情况在用类似Excel的vlookup精确查找函数去做时,就会找不到数据,如果用简单的模糊匹配又很容出错。
对于第二种情况,研究院给出的解决办法是,通过AI学习了2016-2019年每个省份每个学校的招生专业,机器自动匹配可以解决大部分(在上面的例子里,机器可以准确识别出“中外合办”和“中外合作办学”是同样的语义),少量机器无法确认的,会反馈出来,由人工点选确认,以此来确定边界的识别广度范围和数据的准确性。
二、关键点2——排名换算
相比第1个关键点,相信关键点2是更多人关心的问题。历年的录取数据都是分文理的情况,如何在不分文理招生的时候进行参考;对于大部分人来说,第一反应能想到的肯定是通过乘以某个系数比例,进行简单换算,仅此而已。对此,研究院的同学对几种算法进行了对比
1.分数等比例法
认为?分数的前x%分位点对应与理科分数的前x%分位点,拟合曲线如下图
2.排名等比例法
认为?排名的前x%分位点对应与理科排名的前x%分位点,拟合曲线如下图
3.研究院自研的线性拟合LM+KNN算法
KNN:核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
线性拟合:曲线拟合的一种形式。设x和y都是被观测的量,且y是x的函数:y=f(x;b),曲线拟合就是通过x,y的观测值来寻求参数b的最佳估计值,及寻求最佳的理论曲线y=f(x;b)。当函数y=f(x;b)为关于b的i线性函数时,称这种曲线拟合为线性拟合。
忽略这些晦涩的专业术语,简单来说就是:在旧高考时同一个学校在文理兼招的专业,招到的文科学生和理科学生的实力差距是相对稳定的(毕竟是那么多年考生用分数投票的结果),但不同层次学校的差距是有差距的。最终通过对不同层次的学校拟合后,即得到对应关系,曲线如下:
上面就是简单的3种算法介绍,那问题来了?种算法的性能更好呢?里以浙江新高考(2017年开始)的数据进行测试,得到的结果如下:
*my_predict和my_predict是不同参数类型的LM+KNN
*MAE越小越好
不难看出,LM+KNN的性能是目前几种算法中更好的
三、结语
基于以上的数据,目前新高考使用的换算位次算法是LM+KNN。
如果各位也需要排名等比例、分数等比例等类似比例算法,或者有更好的换算算法,欢迎探讨分享交流,我们可以在系统上很快实现出来供大家使用