羅丹 劉旋
(信陽農(nóng)林學院信息工程學院,河南 信陽 464000)
隨著大數(shù)據(jù)時代的到來,教育領(lǐng)域積累了海量的格式化學生信息,利用數(shù)據(jù)挖掘來發(fā)現(xiàn)信息背后的知識,改進高校畢業(yè)生就業(yè)管理的工作模式,進而提高就業(yè)率和就業(yè)工作滿意度,是高校教育信息化發(fā)展的必由之路。
目前,多數(shù)研究都是針對畢業(yè)生的學習成績、日常活動和創(chuàng)新實踐等信息進行挖掘分析,以此預測學生今后的就業(yè)去向,然后進行就業(yè)指導和決策。例如,Patuelli 等人采用神經(jīng)網(wǎng)絡(luò)動態(tài)調(diào)整參數(shù),成功預測了德國部分區(qū)域的就業(yè)方向[1]。王亞如等人采用基本的決策樹算法,根據(jù)大學生行為數(shù)據(jù)構(gòu)建就業(yè)預測模型[2]。陳為景利用最新的調(diào)查數(shù)據(jù),采用統(tǒng)計分析得到云南少數(shù)民族畢業(yè)生的就業(yè)決策及影響因素[3]。上述方法大多忽略了學生數(shù)據(jù)樣本增加的速度、就業(yè)去向的多樣化(多類別),因此難以處理大規(guī)模的復雜數(shù)據(jù)。其次,以往數(shù)據(jù)挖掘方法往往忽略了未就業(yè)的學生樣本,只注重預測的整體準確率,雖然這些未就業(yè)數(shù)據(jù)樣本所占比例很小,但卻是高校就業(yè)研究的重點。
綜上,本文提出了一種基于LightGBM 的不平衡數(shù)據(jù)多分類模型,根據(jù)某高校畢業(yè)生的各項信息,通過結(jié)合抽樣算法,平衡樣本數(shù)據(jù)量,更好地提升少數(shù)類的預測精度,然后根據(jù)該模型的特征重要度分析,得到各個特征對就業(yè)影響的重要度,從而量化就業(yè)因子,針對性地解決高校就業(yè)問題。
LightGBM(Light Gradient Boosting Machine)[4]是一種基于梯度提升決策樹(GBDT)[5]算法的開源框架,因其高效、快速和并行的優(yōu)點被廣泛用于處理分類、回歸等問題,能夠保證較好的分類和預測結(jié)果。
由于GBDT 采用預排序方法(Pre-sorted)進行迭代,所以需要遍歷整個數(shù)據(jù)集多次,導致其空間和時間復雜度較大,而LightGBM的提出解決了GBDT無法處理大規(guī)模數(shù)據(jù)的問題,主要改進包括:(1)采用基于Histogram 的決策樹算法把連續(xù)特征離散化,通過構(gòu)造直方圖來遍歷數(shù)據(jù)并進行統(tǒng)計,以此尋找最優(yōu)的分割點,大幅降低內(nèi)存和計算消耗;(2)使用基于深度限制的Leaf-wise葉子生長策略[6],每次迭代從當前所有葉子節(jié)點中,找到分裂增益最大的葉子節(jié)點進行分裂,降低了誤差;(3)多線程效率優(yōu)化。LightGBM構(gòu)建樹的過程如下:
假設(shè)數(shù)據(jù)集為S={(xi,yi),i=1,2,…,n},xi=[xi1,xi2,…,xim],其中m為特征數(shù)目,yi為類別特征。首先對S中的特征進行歸一化,并計算初始梯度值:
然后構(gòu)建樹:(1)計算直方圖
(2)基于直方圖計算分裂收益,并選取最佳分裂特征G,得到分裂閾值I:
(3)建立根節(jié)點:
重復上述步驟1 到3,直到達到葉子數(shù)目限制或者所有葉子節(jié)點不能繼續(xù)分割為止,最后更新樹的梯度值,完成所有樹的構(gòu)建,并對待分類樣本進行處理。
ADASYN[6]是一種過采樣方法,根據(jù)原數(shù)據(jù)中少數(shù)類樣本的分布自動生成新的少數(shù)類樣本,以此降低數(shù)據(jù)集的不平衡度,具體過程為:
(1)計算數(shù)據(jù)集S的不平衡度和待合成樣本數(shù)量:假設(shè)少數(shù)類樣本為Sm,多數(shù)類為Sn,則不平衡度d=Sm/Sn,差異數(shù)量G=(Sn-Sm)×k,k∈[0,1]。
(2)采用歐式距離計算各個少數(shù)類樣本的k個鄰居,△為k個鄰居中屬于多數(shù)類的樣本數(shù)目,占比r=/k,r∈[0,1]。
(3)根據(jù)少數(shù)類樣本的ri,計算每個少數(shù)類樣本周圍多數(shù)類的情況
本文提出一種基于LightGBM 算法的預測模型,通過引入ADASYN過采樣方法,降低訓練數(shù)據(jù)集中的不平衡性,然后結(jié)合貝葉斯參數(shù)優(yōu)化訓練得到最優(yōu)模型參數(shù),并對測試數(shù)據(jù)進行預測,最后根據(jù)預測結(jié)果計算各個特征的重要度。
ADASYN 算法生成的少數(shù)類樣本是通過線性插值得到,雖然擴張了少數(shù)類的樣本空間,但原本屬于多數(shù)類的樣本空間被新生成的少數(shù)類干擾,使得少數(shù)類的預測結(jié)果過擬合。本文結(jié)合TomekLinks 算法,剔除ADASYN 生成的噪聲點和邊界點,對新擴充的少數(shù)類樣本進行清洗,使得對少數(shù)類的預測結(jié)果更準確。其方法如下:
假設(shè)樣本點x與y屬于不同類別,如果不存在另一個樣本點z,使得d(x,z) LightGBM 與Xgboost[7]算法類似,能夠很好地支持標簽特征,但算法的初始參數(shù)較多,且取值直接影響預測結(jié)果的優(yōu)劣。本文采用貝葉斯優(yōu)化(Bayesian Optimization)[8]進行參數(shù)尋優(yōu),Bayesian Optimization 能夠根據(jù)已有的采樣點預估模型最優(yōu)值,然后通過交叉驗證確定最佳效果參數(shù)。假設(shè)一組超參數(shù)組合是X=x1,x2,…,xn(xn表示某一個超參數(shù)的值): 其中μ(x)和σ(x)分別為下一次采樣x的均值與方差,而β為權(quán)重參數(shù),通過循環(huán)選參數(shù)t次高效地調(diào)節(jié)超參數(shù),使LightGBM預測的準確率最優(yōu)。 根據(jù)預測結(jié)果,計算全體特征對預測結(jié)果的重要度,并度量影響就業(yè)預測的因素。LightGBM通過計算所有非葉子節(jié)點在分裂時加權(quán)不純度的變化,以此選擇減少最多、收益最大的特征進行分裂,通過計算各個特征的收益率,得到其對分類結(jié)果產(chǎn)生影響的重要程度,進而量化分類預測的影響因素。特征j的全局重要度計算如下: 其中,M是樹的數(shù)量,L是樹的非葉子節(jié)點數(shù)量是節(jié)點t分裂之后平方損失減少值。 輸入:測試數(shù)據(jù)集Test、訓練數(shù)據(jù)集Train和LightGBM初始參數(shù)X 輸出:Test的預測結(jié)果和特征重要度排序 步驟 1:先采用 ADASYN 和 Tomeklinks 算法對Train中的少數(shù)類進行過采樣,生成新的少數(shù)類樣本集Train1。Train和Train1形成新訓練集Train2。 步驟2:設(shè)置LightGBM 的初始參數(shù)X,采用LightGBM算法對Train2進行首次訓練。 步驟3:根據(jù)Train2的初始預測結(jié)果,利用貝葉斯優(yōu)化對LightGBM 的參數(shù)尋優(yōu),直到滿足指定次數(shù),選取LightGBM的最優(yōu)超參數(shù)X1,并計算Test的最終預測結(jié)果。 步驟4:根據(jù)LightGBM 的樹結(jié)構(gòu),通過公式(6)計算所有特征的重要度并排序,度量影響分類結(jié)果的特征因子。 針對不平衡就業(yè)數(shù)據(jù)集,本文采用查全率(Recall)、查準率(Precision)和F-measure作為評價方法。假設(shè)TP和FP分別表示少數(shù)類(正類)分類的正確數(shù)和誤分數(shù),TN和FN分別表示多數(shù)類(負類)分類的正確數(shù)和誤分數(shù),F(xiàn)-measure是一種衡量少數(shù)類分類性能的評價指標,只有當Recall和Precision值都較高時,才能得到較好的預測結(jié)果,其定義如下: 本文以某高校2015至2018屆畢業(yè)生相關(guān)就業(yè)信息作為數(shù)據(jù)集,數(shù)據(jù)集存在嚴重的非平衡。數(shù)據(jù)集預處理過程:(1)首先采集教務(wù)處、招生就業(yè)處的學生信息,例如姓名、專業(yè)、學習成績和就業(yè)單位等。(2)清洗掉數(shù)據(jù)中的敏感、私密特征(身份證號、家庭住址等)。(3)對標簽特征進行獨熱編碼(One-Hot Encoding),對連續(xù)性特征進行歸一化處理,并刪除重復缺失數(shù)據(jù),最終得到11542 條、13 個特征、4 類的有效數(shù)據(jù)。數(shù)據(jù)集描述如表2和表3所示: 表1 數(shù)據(jù)樣本分布 表2 數(shù)據(jù)特征描述 Class4為正類(少數(shù)類),Class1、2、3為負類(多數(shù)類),本文隨機抽取20%的樣本作為測試集,剩余作為訓練集。 本文實驗環(huán)境為:python3.6、win10系統(tǒng)、內(nèi)存16G、處理器i7-7400。針對該校的就業(yè)統(tǒng)計數(shù)據(jù),為了使實驗結(jié)果更具客觀性,采用10折交叉驗證進行分類,與GBDT、BalanceCascade[10]、SMOTE-SVM[11]、EasyEnsemble[12]等不平衡分類方法進行實驗對比。這里,本文方法通過貝葉斯優(yōu)化后的最優(yōu)參數(shù):num_leaves=15(每棵數(shù)的葉子數(shù)量),learning_rate=0.3(學習率),max_depth=11(最大學習深度),min_data=55(最小葉子數(shù)),bagging_fraction=0.85(采樣比例),min_gain_to_split=0.2(切分的最小收益)。 表3 對比實驗結(jié)果 從表3實驗結(jié)果可知,由于數(shù)據(jù)的不平衡性和復雜性,導致上述對比算法對正類(少數(shù)類)的預測精度低于本文算法,雖然本文算法的整體準確率略低于BalanceCascad 算法,但對少數(shù)類的預測準確率較高,所以Recall和F-measure高于其他對比算法,說明了本文方法能有效識預測畢業(yè)生的就業(yè)去向,且對未就業(yè)學(少數(shù)類)的預測精度顯著提高。由于本文算法加入了貝葉斯參數(shù)優(yōu)化,所以耗時相對較高,仍須進一步降低其時間復雜度。 為進一步驗證算法的魯棒性,繪制出五種算法的ROC曲線,如圖1 所示。在各指標中,本文算法的ROC 曲線最靠近左上角,預測的準確性最高,且AUC面積值也高于其他算法。由此可知,本文模型提升了少數(shù)類的預測精度,且造成較少的假負錯誤,證明了本文模型能夠有效處理不平衡數(shù)據(jù)分類。 此外,通過表3 的特征權(quán)重排序(前五)可知,Academy(所在學院)、Average(成績)特征對就業(yè)去向影響較大,主要原因在于未就業(yè)學生集中于個別學院,且綜合成績相對較低,其次Creative(創(chuàng)新學分)、Unqualified(掛科數(shù))也對預測結(jié)果有一定影響。將權(quán)值較高的特征作為就業(yè)因子,以此加大對待就業(yè)學生的相關(guān)指導與幫助,針對就業(yè)因子的改善就業(yè)工作的重點,進一步提升整體就業(yè)滿意度。 表4 特征權(quán)重 智能化的高校就業(yè)分析一直是一個難題,本文通過對LightGBM 模型進行改進,提出了一種處理不平衡數(shù)據(jù)的高校就業(yè)去向預測模型,有效預測并分析了學生的就業(yè)去向,并得出影響就業(yè)的主要因素、特征。隨著學生數(shù)目和特征的不斷擴大,如何增量式地構(gòu)建預測模型,動態(tài)分析學生就業(yè)數(shù)據(jù),是本文今后的研究重點。3.2 LightGBM預測模型
3.3 特征重要度計算
3.4 高校就業(yè)預測模型流程
4 實驗結(jié)果與分析
4.1 評價指標
4.2 就業(yè)數(shù)據(jù)集


4.3 實驗結(jié)果分析


5 結(jié)語