意义 高考是中国的大学招生的学术资格考试,在目前看来,高考的考试类型有两种,一种是文理分科,另一种是新高考模式。传统的文理分科是将学生分成两个类型,一种是文科,除了语数外三门课以外需要学习政史地,理科相对应的就需要学习物化生。根据学生的高考成绩和每个大学在所对应省份的总体招生计划来分梯度划线,也就是我们常说的重本线,二本线和专科线。 高考填报志愿对每个考生都非常重要,每年全国有数百万家庭使用网络了解高考支援志愿信息并推荐填报志愿。对于很大一部分考生和家长来说,短时间了解全国数千所高等院校的招生标准、历史录取分数、专业要求等信息非常困难。往往由于信息的缺失或错误造成高考志愿与考生成绩之间的较大差异,对考生造成不可挽回的损失。 目前,全国大部分省(自治区、直辖市)都是高考成绩公布后开始填报志愿,大部分家长和考生仅仅利用招生考试机构公布志愿填报日程几天时间,从近2700所高校和500多个专业中做出选择,对很多毫无经验的家长和考生来说“难于上青天”。因为影响高考志愿因素太多,如考生职业生涯规划、个人和家庭情况、分数、院校、专业、城市、高考志愿政策规则、填报策略技巧、近3到5年录取数据、录取概率测算、就业情况等,如果仅在几天内通过传统手段,以手工查阅书籍材料,往往会因为资料难找、耗时长、易疲劳出错等原因,填报志愿和最终录取去向往往不尽如人意。 《中国青年报》社会调查中心发起的一项10万人参加的抽样调查,超过71.2%的人后悔当年的高考志愿。我们可以在新闻媒体或网络上看到很多志愿填报不科学的典型案例,其中很多是高材生。 2008年周某以青海省第三名的成绩被北京大学生命科学学院录取,两年后周某选择转学到了北京工业技师学院。2017年李某从中国科学技术大学退学补习,2018年高考以云南省理科第8名的好成绩拒绝清华大学和北京大学发出的邀请,选择了四川大学口腔专业。2017年广西理科高考第3名考生,填错高考志愿批次,最后通过征集获得录取。2017年浙江省646高分考生竟报考独立学院,全省被独立学院录取的600分以上考生多达9人。 现实中,还有很多高考过来人默默承受着高考志愿填报失误带来的痛,比如对专业不满意、对院校不满意、填错批次、错过填报时间、被退档、毕业后从事与自己所学专业毫无关联的工作等。 在本项目中主要研究的是传统文理分科的高考模式,因为这种模式有着大量的数据支撑,提供训练,能够高精度地做出预测。而新考高模式刚刚施行,其数据是不足以支撑训练,从而做出预测。高考录取填报推荐志愿方式,梯度志愿和混合录取,经过不断优化,平行志愿已成为了高考录取的主流,大部分省份都采取平行志愿,所以本次项目也就平行志愿的录取方式来进行研究。即分数优先,满足偏好的方式,所以本项目着重对学生位次进行研究。针对高考这一热门话题,国内外都有着不少的专家学者对其进行研究,在过去的实践中,人们往往选用经典的时间序列方法来解决预测高校录取问题,即利用近5年高校录取的分数线,名次求平均值来预测当年的分数线,但是利用时间序列预测,就必须保证时间序列的过去值、当前值、和未来值之间存在着某种确定的函数关系。所以这养的预测是不够精确,不够完善的。除了基于时间序列的预测以外,还有人通过录取线差法来对高考录取进行研究,所谓录取线差是指考生意向院校当年平均录取分数与其所在招生批次录取控制分数线的差值。但是,每年高考试卷难度有别,造成了各个院校各年度的录取分数可能发生较大的变化。 综合来看,基于协同过滤算法的高考志愿填报系统的相关研究在国内外都不多,未来的发展空间都很大。在未来的研究中可以结合数据分析、规划优化、机器学习和协同过滤推荐算法等领域的相关方法,利用Spark的大数据处理能力,设计和实现一套可行的高考志愿推荐系统。这将为考生提供更好的填报建议,提升高考志愿填报的准确性和个性化程度。 因此,我们使用软件工程面向对象的思想,开发一个高考志愿填报推荐系统,为高考结束的学生提供智能化推荐服务、往年报考信息可视化统计等,提高学生志愿填报的准确度,加深学生对往年报考信息的认识深度,有助于志愿的合理填报。 内容
要求
|
|
核心算法代码分享如下:
--hdfs创建文件夹、上传CSV(linux上上传CSV到/data/zhibo然后再执行以下命令 -f表示覆盖)
hadoop dfs -mkdir -p /gaokao/ods_school
hadoop dfs -mkdir -p /gaokao/ods_special
hadoop dfs -mkdir -p /gaokao/ods_province
hadoop dfs -mkdir -p /gaokao/ods_ruanke_rank
hadoop dfs -mkdir -p /gaokao/ods_qs_world
hadoop dfs -mkdir -p /gaokao/ods_school_province_score
hadoop dfs -mkdir -p /gaokao/ods_school_special_score
hadoop dfs -put -f /data/gaokao/school.csv /gaokao/ods_school/
hadoop dfs -put -f /data/gaokao/special.csv /gaokao/ods_special/
hadoop dfs -put -f /data/gaokao/province.csv /gaokao/ods_province/
hadoop dfs -put -f /data/gaokao/ruanke_rank.csv /gaokao/ods_ruanke_rank/
hadoop dfs -put -f /data/gaokao/qs_world.csv /gaokao/ods_qs_world/
hadoop dfs -put -f /data/gaokao/school_special_score.csv /gaokao/ods_school_special_score/
---hive学校表
drop table if exists ods_school;
create external table ods_school(
id int ,
school_id int COMMENT '大学id',
school_name string COMMENT '大学',
province_id int COMMENT '省份id',
province_name string COMMENT '省份',
city_id int COMMENT '城市id',
city_name string COMMENT '城市',
level string COMMENT '学校等级',
type string COMMENT '类别 理工/综合/医学等',
nature string COMMENT '办学性质 公办/民办/独立',
email string COMMENT '邮箱地址',
phone string COMMENT '联系电话',
site string COMMENT '网址',
address string COMMENT '联系地址',
status int COMMENT '状态 1抓取完成 0未抓取',
ad string COMMENT '广告位',
hot int COMMENT '热度',
img string COMMENT '图片',
oid int COMMENT '中国排名',
label varchar(10000) COMMENT '大学描述'
)
row format delimited fields terminated by ','
location '/gaokao/ods_school';
select count(1) from ods_school ;
select * from ods_school limit 1;
select label from ods_school limit 1;