基于LSTM的高考志愿决策系统

known 发布于 2025-08-25 阅读(423)

摘" 要:高考志愿填报一直是考生和家长关注的焦点,而传统的填报方式存在信息不对称、填报时间长、考生不了解填报、考生乱填报等问题。为了提升考生对高考志愿填报的准确度,加强考生对填报学校的了解,帮助考生选择自己心仪的学校,文章设计了基于LSTM的高考志愿智能决策系统,通过模型训练、前端页面设计、后端逻辑编写、数据处理和可视化技术等手段,为考生提供更智能和便利的选报方案和填报建议,以提高考生填报成功率和效率。

关键词:高考志愿填报;LSTM;可视化

中图分类号:TP311" " 文献标识码:A" 文章编号:2096-4706(2024)21-0109-05

College Entrance Examination Volunteer Decision System Based on LSTM

SONG Jianming, ZHANG Yue, LI Guoyin

(School of Information Engineering, Shandong Youth University of Political Science, Jinan" 250103, China)

Abstract: The application of college entrance examination volunteer has always been a focus of attention for candidates and parents, while traditional applying methods have problems such as information asymmetry, long applying time, poor understanding for application of candidates, and haphazard application of candidates. In order to improve the accuracy of candidates in applying their college entrance examination volunteer, enhance their understanding of the schools they are applying to, and help them choose their preferred schools, this paper designs an intelligent college entrance examination volunteer decision system based on LSTM. Through model training, front-end page design, back-end logic writing, data processing, and visualization technology and other means, it provides candidates with more intelligent and convenient selection plans and application suggestions to improve the success rate and efficiency of their application.

Keywords: application of college entrance examination volunteer; LSTM; visualization.

0" 引" 言

近年来,随着我国教育事业的不断发展和完善,人们对教育领域的关注度逐渐增加。自2020年起,山东省开始进行新高考改革,高考志愿填报问题再次成为考生和家长关注的热点。考生和家长面对新高考改革后填报96个志愿存在诸多疑惑。如何合理分配96个志愿、保障自己的分数去到对应的高校、避免退档、滑档等问题的出现是考生和家长所面临的难题。在高考志愿填报系统方面,王亚靖[1]提出了在高考志愿填报系统中基于信息增益率的协同过滤算法;顾健[2]提出了一个改进的协同过滤高考志愿推荐算法,并实现了算法的并行化;边帅[3]提出了线上百分位预测模型,并对异常值进行剔除;周奕[4]使用两种机器学习算法进行预测,并使用线性回归预测最终结果。余奎锋[5]等提出了使用MFW-FCM构建高考志愿推荐模型。

上述研究仅考虑了高考位次的影响,并没有考虑到新高考形势下96个志愿填报的顺序先后问题以及考生的个人因素。本文参考已有的高考志愿填报系统,以山东省为例,研究新高考形势下高考志愿填报问题,综合考虑考生以及分数位次等因素,设计出一个更为完善的高考志愿智能决策系统,为考生提供更准确的高考志愿填报建议,为考生的升学之路提供有力支持。

1" 系统总体设计

1.1" 设计思路

本系统通过Scrapy和Selenium相结合的方式爬取近三年的高考专业信息数据,使用Numpy和Pandas对数据进行清洗,MySQL进行数据的存储[6]。

使用Django进行后端管理,Vue进行前端展示,ECharts进行高考分数的可视化,同时使用LSTM对位次数据进行预测,整体技术构架图如图1所示。

1.2" 关键技术

1.2.1" 数据清洗和预处理技术

本系统通过Selenium获取相关高考数据,获取的数据比如高考专业代码、学费等数据有缺失值和异常值,因此需要进行数据清洗,去除这些不完整或错误的数据,从而使数据更加准确可靠。通过Numpy读取获取的高考CSV数据,并Pandas中的drop()函数对获取的高考异常数据进行删除,使用fillna()函数对空值数据进行填充,为前端展示数据奠定了良好基础。

1.2.2" Django框架

Django[7]是一个高效、灵活的Web开发框架,可以快速构建一个基于Python的Web应用程序,并提供后端服务。本系统基于Django 3.2版本,Django可以提供查询学校信息、查询填报信息等功能的API接口,使得Vue界面和后端服务进行交互和通信,为使用者查询心仪的院校、查询自己的冲稳保的推荐提供了良好的数据保障。

Django根据分数查询位次主要代码为:

def SchoolPosition(request):

score = request.GET.get(\"score\")

if score:

node1 = models.scoretable.objects.filter(score=score)

if node1.exists():" # 检查查询集是否存在记录

node1 = node1.first()" # 获取第一个匹配的记录

position = node1.position

else:

position=\"\"

return HttpResponse(position)

1.2.3" Vue框架

Vue是一款流行的JavaScript前端框架,主打响应式数据绑定和组件化开发。本系统使用Vue3框架进行开发。首先使用Vue CLI创建项目,使用Vue3的组件库——Element Plus中的布局、分页、按钮等组件,极大地提升了界面的美化度,给使用者提供良好的使用体验。使用Vue Router配置了页面路由,实现了首页、高校查询、志愿推荐界面的跳转和切换。同时,为了提高页面的加载性能和用户体验,我们使用了图片懒加载功能。

志愿推荐界面的主要代码为:

getResult() {

axios({

method: GET,

url: http://127.0.0.1:8000/recommend/result/,

params: { addr: this.addr, position: this.position, mark: this.mark, sClass: this.sClass, bClass: this.bClass }

}).then((response) =gt; {

this.tuijianNode = eval(\"(\" + response.data + \")\");

}

));

this.submitting = true;

this.showV = 1;

function sleep(time) {

return new Promise((resolve) =gt; setTimeout(resolve, time));

}

sleep(2000).then(() =gt; {

this.showV = 2;

})

}

1.2.4" ECharts库

ECharts是一款基于JavaScript的数据可视化图表库,提供直观、生动、可交互、可个性化定制的数据可视化图表。在院校信息界面,本系统通过柱状图展示院校往年的热门专业、低分专业,并对两年的热门专业、低分专业进行对比;通过院校近两年专业盒状图,反映高校专业位次分布的特征与整体变化,了解高校整体成绩,便于考生直观地了解近两年的分数涨幅情况和高校整体成绩,便于考生进行高考志愿的填报。

热门专业柱状图展示主要代码为:

remen() {

this.qieEchart = 2;

const c11 = document.getElementBy-Id(myChart11)

let myChart11 = echarts.init(c11)

myChart11.setOption({

title: {

text: 热门专业,

},

legend: {},

tooltip: {},

dataset: {

source: this.echarts11

},

xAxis: { type: category, axisLabel: { interval: 0 }, },

yAxis: { name: 位次 },

series: [{ type: bar }, { type: bar },]

});

c11.removeAttribute(\"_echarts_instance_\");

}

1.2.5" LSTM模型

LSTM(长短期记忆网络)[8]是一种特殊类型的循环神经网络(RNN),专门用于处理和预测时间序列数据。它在处理具有长期依赖关系的数据时表现优异。LSTM模型可以应用于高考位次数据的预测,通过对近年高考分数位次数据的训练,LSTM模型可以学习并捕捉分数变化的趋势和规律,从而进行未来分数位次的预测。这样的预测信息对考生填报志愿十分重要,能够帮助他们更准确地选择适合自己的院校和专业。

训练LSTM模型,首先读取CSV文件中的高考位次数据,对数据进行预处理。之后使用Keras库构建LSTM神经网络,包含两个LSTM层(分别有128个和64个神经元),一个全连接层以及一个激活层。考虑到位次变化是非线性关系,故使用“Sigmoid”激活函数。接着将MAE损失函数和Adam优化器应用于模型。训练过程如图2所示,我们使用2020、2021、2022年的位次作为训练集,使用2023年的位次作为验证集,最后使用数据对模型进行24 000轮训练。模型在验证集上的表现为:验证损失值为0.092 3,MAE为2 000,如图3所示,说明模型对新数据具有较好的泛化能力。之后将经过归一化的输入数据传递给已经训练好的LSTM模型,然后使用逆缩放操作将归一化后的预测结果转换回原始位次值。

为了评估模型性能,我们计算了预测结果的平均绝对误差(MAE),这个指标可以有效地衡量模型在预测高考志愿位次时的准确性。较低的MAE值意味着模型具有较好的预测能力。

1.3" 数据库设计

本系统共设置两个表。一个是高校信息表,用来存储学校的专业的信息,如表1所示;另一个是高校排名信息表,用来存储学校的信息,方便考生了解学校综合实力,如表2所示。

2" 系统功能

系统包括高考资讯、高校查询、志愿填报推荐、考生志愿表、高校总览、考生性格测试等板块,系统功能如图4所示。

2.1" 系统登录功能

一个完整的系统,登录界面是必不可少的。考生或者家长输入账号和密码进行登录,若是新用户则自动进行注册。

2.2" 系统首页

如图5所示,进入系统后,首页展示高考的资讯以及热门学校和热门专业,借助大数据分析,为考生提供针对性的热门院校和专业推荐,让考生深入了解当前热门院校与专业,有针对性地选择适合自己的院校和专业,从而掌握个人发展方向,开创美好未来。

2.3" 高校查询功能

在本界面,考生可直接搜索自己想要了解的高校。也可以选择想要报考的省份和高校所属进行筛选。通过点击学校名称,可以跳转到详情界面。详情界面通过大数据对用户查询院校往年专业线进行分析,让考生掌握未来热门方向通过对比两年专业箱线图,反映高校专业位次分布的特征与整体变化,了解高校整体成绩。通过异常点识别专业中的异常专业,加深对搜索院校的了解。

2.4" 志愿填报功能

2.4.1" 考生个性测试

本模块为了弥补传统的高考志愿决策系统的不足。考生可将自己的家庭状况、意向城市、想学的专业提交给系统,系统可以给出智能推荐。若考生不知道自己想学的专业,本系统提供了MBTI性格测试[9]。通过结合高考成绩和MBTI职业性格测试结果,可以更好地确定适合的专业方向。在决策过程中,应以考生意愿为主导,侧重于发挥自身强项科目的优势,避免选择与自身能力、兴趣不符的弱项科目。此外,结合MBTI测试结果可以为考生提供更具体的职业建议,帮助他们了解自己的职业性格特点。通过综合考虑考生的高考成绩、地域偏好、专业倾向和MBTI测试结果,在确定专业时能够更加科学和准确地进行决策,为考生未来的学习和职业发展打下良好的基础。

2.4.2" 志愿推荐

系统根据考生输入的成绩、位次,以及考生选择的选课信息和学校性质等条件,通过智能算法进行匹配和筛选,系统按照历年分数走势、院校招生名额的变化排序,按照冲、稳、保三个梯度为考生推荐学校和专业,如图6所示,提高了考生报考的准确度,为考生实现更加合理的高考志愿填报[10],考生可以一键导出系统推荐的院校和专业,便于高考志愿的填报。

2.4.3" 考生志愿表

考生志愿管理功能向考生展示由他们添加到志愿单的各类信息。系统允许考生最多添加96个志愿。在志愿列表内,考生可以灵活地进行各种操作,如上移、下移和删除志愿,以便根据个人优先级和喜好调整志愿排序,如图7所示。在操作完成后,考生可以点击“导出”按钮,将自定义的志愿表导出为Excel格式文件并保存到本地,以便日后查看、修改或分享,该功能设计直观且易于使用。

2.5" 后台管理界面

本系统后台管理界面提供咨询师管理、用户管理、高校管理。管理人员可进行咨询师的增加、用户密码的修改、高校信息的修改,保障系统稳定运行,后台管理界面如图8所示。

3" 结" 论

随着高考报考人数的增加,高考的竞争日趋激烈,高等院校的招生工作变得越来越信息化。本系统通过收集高校的专业库录取信息和高校的详情数据,结合考生性格测试,实现了一个高考志愿智能推荐系统。本系统后端使用Django,前端使用Vue,基于高校历史录取位次数据、高校招生计划数据、考生个人偏好等,通过LSTM等算法,实现了新高考环境下为考生提供冲稳保的志愿推荐。系统具有高校查询、志愿推荐、位次查询、性格测试等功能。志愿推荐功能中,通过输入分数、所在省份和所选科目,可以自动得出冲稳保的志愿推荐,实现高考位次、考生的个人意愿与高等院校的匹配。测试结果表明,本系统运行稳定、性能可靠,具有较好的易用性和实用性。

参考文献:

[1] 王亚婧.基于数据挖掘和协同过滤的成人高考志愿推荐系统研究 [D].北京:北京林业大学,2011.

[2] 顾健.基于大数据的高考志愿数据分析关键技术研究 [D].长春:长春理工大学,2017.

[3] 边帅.线上百分位回归模型在高校录取分数预测工程中的应用 [D].唐山:华北理工大学,2019.

[4] 周奕.基于机器学习的高考志愿智能推荐技术研究与实现 [D].成都:电子科技大学,2023.

[5] 余奎锋,段桂华,时翔.基于多特征权重模糊聚类的高考志愿推荐算法 [J].中南大学学报:自然科学版,2020,51(12):3418-3429.

[6] 刘明奇,程江珂,陈晓兰.高考志愿填报辅助决策系统的设计与实现 [J].现代信息科技,2022,6(17):38-40+44.

[7] 常佳宁,李阳齐.一种基于Django的高考排名预测系统 [J].中国科技信息,2021(Z1):102-104.

[8] 宋时雨.基于机器学习的高考志愿个性化推荐方法研究与应用 [D].太原:中北大学,2023.

[9] 丁禄沣.基于MBTI的“3+1+2”新高考模式下地理科目选择问题研究 [D].重庆:西南大学,2023.

[10] 史贞军.高考志愿决策支持系统的设计与实现 [D].北京:北京交通大学,2010.

作者简介:宋建铭(2003.09—),男,汉族,山东枣庄人,本科在读,研究方向:大数据、数据挖掘;张岳(1988.05—),男,汉族,山东济南人,讲师,硕士,研究方向:大数据、数据挖掘;李国印(2003.04—),男,汉族,山东菏泽人,本科在读,研究方向:大数据、人工智能

标签:  考生 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor