







摘" 要:高考志愿填報一直是考生和家長關注的焦點,而傳統的填報方式存在信息不對稱、填報時間長、考生不了解填報、考生亂填報等問題。為了提升考生對高考志愿填報的準確度,加強考生對填報學校的了解,幫助考生選擇自己心儀的學校,文章設計了基于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, Ji'nan" 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—),男,漢族,山東菏澤人,本科在讀,研究方向:大數據、人工智能。