?

基于麻雀搜索算法和SVM的學生成績預測研究

2023-09-22 06:31張廣海
池州學院學報 2023年3期
關鍵詞:麻雀準確率分類

張廣海,祖 璇

(安徽師范大學皖江學院a.電子工程系;b.經濟系,安徽蕪湖 241003)

隨著信息技術的不斷革新,大數據分析技術已被應用到了各個領域,進而推動著社會的進步和發展。在大數據時代,如何利用數據挖掘方法探索出教育發展規律,從而有針對性地豐富教學模式、幫助同學們改進學習過程,成為目前急需解決的問題。研究[1]發現,學生期末考試成績與平時測試、學生學習行為、學生學習背景及父母行為等有關。因此根據學生平時學習的各種因素,可以有效預測出學生的期末考試成績,使老師和學校提前發現問題,及時進行干預。

針對學生成績預測,國內外許多科研人員都開展了大量的研究。目前已有多種學生成績預測的模型,大致可分為兩類:基于神經網絡模型和基于概率統計模型[2]。姚明海等[3]把BP(back propagation)神經網絡引入高校學生成績預測中,實驗表明大一成績與學生的畢業成績間存在關聯關系。王芮[4]采用聯合粒子群算法(particle swarm optimization,PSO)和BP神經網絡(PSO-BP)對目標課程學習成績進行預測。郭華偉等[5]采用SVM 分類器對訓練樣本進行訓練學習,并通過PSO 優化SVM 的參數,從而建立體育成績預測模型。劉艷杰等[6]利用貝葉斯網絡推理的聯合樹算法預測學生成績。FRANCIS B K等[7]運用聚類和分類相結合的算法構建成績預測模型。線性回歸[8-10]、決策樹[11-13]等基于概率統計的模型也被用于學生成績預測。目前,用于學生成績預測的機器學習算法還有SVM[14-16]、最小二乘支持向量機[17]、推薦算法[18]等。

在分類領域中,SVM 模型的分類效果普遍較好,當數量集較少時分類準確率較高且泛化能力強[19-20]。但是,SVM 分類器的懲罰因子c 和核函數參數g 難以確定,如果將其直接用于學生成績預測,預測的準確率相對較低且運行效率不高。麻雀搜索算法(sparrow search algorithm,SSA)[21]是一種新型智能優化算法,該算法主要受麻雀捕食行為啟發。算法具有全局搜索尋優能力強、穩定性高且收斂速度快等優點,可以有效優化SVM 分類器的參數。因此,提出了一種基于麻雀搜索算法優化SVM(SSA-SVM)的學生成績預測模型,實驗結果驗證了該方法的性能與可行性。

1 算法原理

1.1 SVM分類算法

SVM 是在統計學習和結構風險最小化理論的基礎上發展起來的[22-23]??紤]到結構風險是訓練誤差和建模復雜性之間的合理權衡,因此SVM 具有很好的泛化能力,其思想是發現一個超平面來區分正負樣本。

為了獲得最優超平面分類樣本,SVM 通過核函數將輸入空間映射為高維特征空間。首先必須進行二次規劃優化:

其中:ξi是一個松弛變量,用于控制訓練誤差并保持約束;c是懲罰因子,其值越高,表示對誤差的容忍度越差,此時容易出現過擬合,反之,則容易出現欠擬合;Φ(xi)是方程系數。

其次,由于RBF 核函數可以直觀有效地反映出兩個數據向量之間的距離,因此選擇徑向基核函數:

其中,g為核函數參數,其值影響模型的訓練速度和預測速度。

1.2 麻雀搜索算法

2020 年,受麻雀捕食行為啟發,薛建凱等人提出了麻雀搜索算法。根據設定,麻雀算法事先將模擬麻雀分為三類:發現者、加入者和警戒者。

發現者不僅需要負責尋找食物,還肩負著引導整個種群移動的任務。因此,發現者可以在更廣泛的位置和區域尋找食物。其位置更新公式為:

其中,X是一個矩陣,表示麻雀的位置,如式(5)所示。所有參數及說明如表1所示。

表1 公式(4)、(5)相關參數及說明

加入者時刻盯著發現者,當其感知到發現者找到好的食物,他們會立刻向發現者聚集,去搶奪食物。其位置更新如公式(6)所示:

其中,A+=AT(AAT)-1。其余參數及說明如表2所示。

表2 公式(6)、(7)相關參數及說明

在整個種群中,一般設定10%到20%的麻雀充當警戒者,且隨機產生初始位置。其位置更新公式為:

其中,所有參數及說明如表2所示。

為提高SVM 的預測準確率,采用SSA 優化SVM,即通過不斷迭代獲得全局最優位置Xbest來確定SVM的懲罰因子c和核函數參數g。

2 學生成績預測模型

基于SSA-SVM的學生成績預測流程分為三個部分:數據預處理、SSA 優化SVM 參數和分類預測。流程圖如圖1 所示。

圖1 SSA-SVM學生成績預測流程圖

(1)數據預處理

為了對數據進行預處理,需要篩選和清洗原始特征。將樣本數據根據學生學習習慣等判定規則進行特征選擇;數據集中的原始特征包含整型與字符型,需要將字符型進行類型轉換,即字符型特征數值化。例如將“Yes”和“No”分別置換為1和0;將處理后的數據樣本按比例隨機分為訓練樣本和測試樣本;將分類后的樣本數據利用公式(8)進行歸一化處理。

式中,xi為第i 個樣本的歸一化值,xmin、xmax為選取數據集中的最大值和最小值。

(2)SSA優化SVM參數

對訓練樣本特征向量進行訓練,利用SSA算法優化SVM 參數,將預測準確率作為適應度函數。根據適應度值不斷迭代更新麻雀的最優位置和全局最優解,若達到最大迭代次數,則獲得最優的懲罰因子c和核函數參數g。

(3)分類預測

利用訓練好的SVM 分類器進行分類預測,將優化好的兩個參數帶入,對學生成績預測結果進行驗證。

3 實驗結果分析

3.1 數據準備與評價指標

(1)數據集

為了驗證成績預測模型的真實有效性,選用的數據集來源于UCI Machine Learning Repository(https://archive.ics.uci.edu/ml/datasets/Student + Performance),由葡萄牙米尼奧大學(Universidade do Minho)的Paulo Cortez 提供[24]。數據集中共有兩個文件,分別包含兩所中學學生的數學(UCI-Mat)成績和葡萄牙語(UCI-Por)成績,數據屬性包括人口特征、學生學習行為特征和家長特征等。兩種數據集調查方法和數據屬性基本一致,所以隨機選取了數據集UCI-Mat作為樣本數據集進行實驗。

(2)評價指標

學生成績預測領域有4個主要評價指標,分別是準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分數(F1-score)。

如公式(9)所示為準確率,它是指在所有樣本中,預測正確的樣本所占的比值。

如公式(10)所示為精確率,它是指在所有預測為正樣本的樣本中,實際為正樣本所占的比值。

如公式(11)所示為召回率,它是指在所有實際為正樣本的樣本中,預測正確的樣本所占的比值。

如公式(12)所示為F1 分數,它是一個綜合評價指標。其值越低,表明模型的穩定性越差;反之,模型的穩定性越好。

其中,設1和0分別為正例和負例,則:

TP:預測為1,實際為1,預測正確。

FP:預測為1,實際為0,預測錯誤。

FN:預測為0,實際為1,預測錯誤。

TN:預測為0,實際為0,預測正確。

3.2 數據處理

UCI-Mat數據集中共有33個屬性,包括學生所在學校,學生性別、年齡,父母職業、受教育程度,學生行為習慣等,每一個特征對學生的學習成績都有一定的影響。為重點研究學生的行為習慣特征對成績的影響問題,利用數據可視化方法分析了所有屬性后,從中選取13個屬性用于構建預測模型,如表3所示。

表3 數據集屬性信息及說明

本模型主要是對輸出目標G3 進行二分類研究,即將學生的期末考試成績預測結果分為合格和不合格兩類。因此,在數據集UCI-Mat中將分數小于等于10 分設為0(0 表示不合格),其余設為1(1表示合格)。之后使用公式(9)所示的準確率來度量二分類問題。

3.3 實驗結果與分析

實驗在UCI-Mat成績數據集上進行,對數據預處理后將訓練數據與測試數據按照9:1 隨機分配。麻雀算法中種群數量設定為20,發現者占比30%,預警值是0.6,迭代次數是30 次,意識到有危險的麻雀占種群數量的20%。

實驗采用Python 編程環境,在配置為Intel(R)Core(TM)i5-10210U CPU@1.60GHz、2.11 GHz、內存為16.00G、64位win10操作系統的計算機上進行。

利用SSA 優化SVM 模型后,最優值懲罰因子c和核函數參數g 分別為1.20737689 和0.10390249,學生成績預測的分類結果如圖2所示。由圖2中結果分析,在測試過程中,只有2個0類別的樣本被誤預測成了1 類別。如圖3 所示為SSA 適應度曲線,在達到最大迭代次數時,模型的分類準確率為95.0%。

圖2 測試集分類結果

圖3 SSA適應度曲線

目標屬性G3是第三期(期末)的成績,G1和G2分別是第一期和第二期的成績。如果在沒有G1和G2的情況下預測G3,其分類結果如圖4所示,預測準確率為67.5%。實驗結果顯示在沒有平時成績的情況下,對期末成績進行預測,其準確率會大大下降。這說明了平時成績與期末成績具有很強的關聯性。

圖4 沒有G1和G2情況下的測試集分類結果

為了體現SSA-SVM分類預測的有效性和可行性,與SVM、隨機森林和BP算法3種分類方法進行了比較,結果如表4 所示。圖5 是4 種分類方法性能比較的可視化示意圖,可以更直觀有效地觀測其性能變化。表5為4種分類方法的準確率。

圖5 4種分類方法性能比較

表4 4種分類方法性能比較

表5 4種分類方法準確率比較

對表4 和圖5 分析可知:1)在這些學生成績預測模型中,通過4種方法性能對比,除了基于BP神經網絡模型在1類別上的精確率和0類別上的召回率稍高外,SSA-SVM模型具有較明顯的優勢;2)在0類別和1類別上,SSA-SVM分類預測方法的F1分數都是最高的,說明了該預測模型最穩定,性能最好。

對表5 分析可知:1)SVM 模型準確率僅次于SSA-SVM 模型,達到了92.5%。這是由于在SVM分類器模型中,使用了網格搜索交叉驗證方法,目的是最大程度上獲取最優超參數,在一定程度上可以獲得較好的懲罰因子c 和核函數參數g;2)與其他模型相比,SSA-SVM模型的分類準確率最高,超出了其他方法2.5%,有較強的實用性。

4 結語

為輔助學校和老師適時動態調整學生的學習狀態,以幫助其更高質量地完成學習要求,提出了一種基于SSA-SVM學生成績預測模型。首先利用麻雀搜索算法不斷迭代,以期得到支持向量機的最優核心參數,使分類器達到最優效果;然后在UCIMat成績數據集上,與其他3種方法進行性能對比,證明了SSA-SVM分類方法的優越性。由于數據集樣本數量的限制,在一定程度上會影響預測的準確性;麻雀搜索算法也有很大的改進空間,所以下一步的重點工作是合理選擇、優化數據集和進一步探究學生成績預測模型的新方法。

猜你喜歡
麻雀準確率分類
分類算一算
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
拯救受傷的小麻雀
分類討論求坐標
1958年的麻雀
高速公路車牌識別標識站準確率驗證法
數據分析中的分類討論
麻雀
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合