楊君石
摘要:研究工作以某高校數據庫中存儲的與畢業生學習、就業相關的歷史數據為對象構建模型用以預測畢業生就業去向。構建流程包含知識發現的完整過程,應用數據挖掘算法,提出針對特定數據集的一系列包括預處理、欠抽樣及分類方法等處理方案,有效地實現預測目標,為高校數據庫海量歷史數據的利用提出新的思路,為高校就業指導工作提供數據支持。
關鍵詞:就業預測;數據歸約;空缺值;欠抽樣
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2019)04-0016-03
Fayyad等指出KDD(Knowledge Discovery in Databases)過程解決的基本問題是先根據需要對大量難以直接理解和處理的低級數據進行選擇、預處理、二次抽樣和轉換后,應用方法或算法從處理后的數據中識別和抽取、羅列模式,評估發現的模式,識別出更簡潔、更抽象(比如描述性的近似值或生成數據的模式)、更有用(比如對未來案例的預測性估計模型)的形式[1]。
本文以某高校為例,遵循知識發現(KDD)進程,應用數據挖掘技術,構建畢業生就業去向預測模型,對歷年高校畢業生在校期間的學業情況數據及就業相關數據進行科學分析,從中發現蘊藏可用的知識和潛在的規律,為各高校如何應對就業總量壓力逐年遞增、就業結構性矛盾突出的形勢[2],為學生的就業指導工作制定正確決策提供科學的基于數據的參考依據。
1 數據來源
高校建立的學生信息管理系統數據庫中的數據多被設計為旨在表示和存儲的數據結構,往往僅關注存儲效率、表示的可理解程度及對數據進行增、刪、改、查等操作的便利性等問題,這些數據或者無法直接應用某種數據挖掘算法,或者挖掘后的結果有極大的錯誤率或產生與事實或先驗知識相離甚遠的偏差。
本文選取某高校近四屆畢業生的歷史數據,包括來源于畢業生就業公共網的就業單位表、校內就業處提供的就業推薦表以及教務處提供的成績數據表,大致從畢業生的家庭情況、獎懲情況、學習情況、最終就業用人單位性質等方面對畢業生進行描述。該原始數據來源于不同系統的數據庫,數據表字段多達上百,計算空間維數高,嚴重影響應用數據挖掘算法的效率。除此之外還存在一些問題,包括某個字段取值過多、取值含義重復或互相包含、不同數據表同一字段取值范圍不同、部分字段存在不同比例的空缺值等,無法直接應用某種數據挖掘算法。
針對本數據集的特點,本文提出一套數據清理方案用于數據的預處理,作為預測模型的一部分,以便保證數據挖掘得到的預測知識是有效可用的。
2 模型設計
2.1 數據預處理
2.1.1 構造字段
以學生成績表為例,課程字段多達上百個,每個學生修讀的課程眾多且互不相同,甚至每門課可能有多次考試成績記錄(包括正常考試、補考、緩考、重修正常考、重修補考、重修緩考等),對學生學業掌握情況的刻畫過于詳細,造成計算空間維數虛高、值冗余嚴重。選擇合適的方案構造新的字段,對原始數據按照一定的標準從不同的角度提取信息進行歸約降維處理,明確原字段或字段集的含義,對提高模型可行性和效率十分必要及重要。
以構造“專業基礎水平”字段為例,選取學生成績表中課程類型為“專業基礎課”和“專業課題組”的課程成績為樣本集,為提高數據應用決策樹算法的效率,按專業分類進行三次數據歸約降維處理。首先選擇所有考試類型為正常考試的人數和專業人數相符的課程,將其中非百分制成績和特殊值按一定規則映射為百分制成績,統計每個學生每門被選取課程在獲得學分之前的歷次考試成績平均分作為該生該門課程的修正成績,實現第一次歸約(特征歸約)。基于修正成績數據應用主成分分析法,以累計方差貢獻率85%作為閾值提取主成分[3],以主成分代替原眾多課程字段,實現第二次歸約(特征歸約)。經對比試驗,確定以3類為期望聚簇個數對主成分得分進行k均值聚類,選擇類內平方誤差和最小的結果為該聚簇個數的最佳聚類結果,用相同聚簇中的各科成績平均分在整個取值范圍中的分布來描述三個聚類群組,構造的新字段值映射為成績“高”、“中”及“低”,實現第三次歸約(值歸約)。
通過計算并比較聚類的Silhouette值評估聚類效果[4],可見傳統平均分和學分績點成績的聚類效果均不如未降維和PCA得分的聚類效果好(如表1所示),雖然PCA得分的聚類效果次于未降維的聚類效果,但因參與聚類的特征維數比未降維少,聚類的效率比未降維的聚類效率高,因此使用主成分分析聚類的方法對成績進行特征歸約和值歸約是合理可行的。
以此構造的新字段描述某畢業生對專業知識的掌握情況,代替原數據集中眾多專業標準不同的課程成績,更直觀、更準確、更易于應用數據挖掘技術分析。
2.1.2 空缺值處理
針對原數據表中由開放式填寫出錯、數據客觀缺失、構造字段產生的空缺值,在數據預處理階段予以填充。常用的填充方法有以平均值、中位數或眾數代替空缺值進行填充。經過平滑處理后的“英語水平”字段中有6.99%的空缺值,占總數比例超過5%,按傳統填充方法將其統一置為“優秀”“中等”或“一般”都可能影響就業預測的結果,本模型提出利用數據挖掘算法進行推測的方法。
將畢業生成績信息表中畢業生就讀期間與英語水平直接相關的四門大學英語課成績(記為E1、E2、E3和E4)和“英語水平”字段數據合并為樣本集。根據“英語水平”字段值是否空缺分割為訓練測試集和待填充的空缺集。先將訓練測試集中的大學英語課程成績數據以3類作為期望聚簇數應用k均值聚類算法,再按相同聚簇中英語成績平均分在所有成績中的分布來描述該聚簇,將各門英語連續值成績離散化為“優秀”“中等”和“一般”三個離散值。將離散化后的英語成績替代原百分制成績,新的數據集以“英語水平”為分類字段,應用C4.5算法生成樹,用置信水平為25%的EBP剪枝,使用10折交叉驗證法評估,最后得到決策樹模型,如圖1所示。
經效率、準確率的試驗對比,使用k均值聚類法離散化連續成績建立的決策樹比以傳統的二元區分法建立的決策樹準確率更高、速度更快、樹的規模更小、更容易理解。以此導出的決策規則有15條,例如“IF E1=高 AND E3=中 AND E4=低 THEN 英語水平=校四級”“IF E1=高 AND E3=中 AND E4=高 THEN 英語水平=CET-4”。使用這些規則將空缺集中樣本的英語水平字段置為“校四級”或“CET-4”。再根據平滑化方案將字段值規整為“一般”或“中等”。
經試驗比較,使用此方案歸納推理英語水平空缺值的方法優于眾數填充法,能提高就業預測的準確性,具有合理性和可行性。
2.1.3 數據整合結果
將數據清洗和預處理后的畢業生基本信息表、畢業生成績信息表和畢業生就業信息表以共有字段“學號”進行鏈接,生成畢業生就業預測信息匯總表,表結構及屬性取值范圍如表2所示,共有19個字段、11176條記錄。
2.2 應用挖掘算法
選取畢業生就業預測信息匯總數據集中的1500條樣本作為測試集,剩下9676條樣本作為學習生成分類器的訓練集。按“畢業去向”字段取值對訓練集數據進行分類,可見其具有分布不平衡的特點,其中有7148條樣本是“非公有中型企業”,其余2528條是除“非公有中型企業”以外的其他取值。為避免剪枝后得到的決策樹模型太過簡化,無法預測占比較小的分類,應進行欠抽樣處理[5]。對訓練集中7148條畢業去向字段值為“非公有中型企業”的樣本子集以k為2528進行k均值聚類算法,選取最佳分簇效果中每個聚簇的質心作為欠抽樣后的樣本,共2528條,合并其余2528條樣本得到的5056條樣本集作為欠抽樣處理后的訓練集,再使用WEKA的特征選擇(Attribute Selection)方法,選取最具有價值的9個屬性,以“畢業去向”字段為分類屬性,構建C4.5決策樹,按置信區間閾值為20%進行EBP剪枝,得到的決策樹規模仍然很大,從中挑選出準確率較高并有代表性的分枝,生成IF-THEN規則集,用于預測畢業生就業去向。
2.3 模型評估
對畢業生就業預測信息匯總數據集以10折交叉驗證法對未欠抽樣數據集進行決策樹分類模型(下稱模型1)與抽樣后分類模型(下稱模型2)進行評估對比。不平衡問題分類效果評估指數主要以AUC(即各類別平均ROC Area值)為主[6],值越高,分類效果越好。計算兩種模型的樹規模及AUC值如表3所示,
評估兩種模型的混淆矩陣如圖2及圖3所示。
比較兩種模型,可見本模型剪枝后樹的規模得到縮小,能在一定程度上簡化樹的描述,由混淆矩陣和AUC值對比可見本方案對占比小的分類效果更佳。在測試集中可得到AUC值為0.764,可見本方案在測試集中可以保證與訓練集等同的分類效果。
3 結論
本文基于對真實原始數據實際存在的冗余、模糊、噪音多等質量低的現狀提出一系列有效可行的解決方案,在數據歸約降維、填充空缺值、欠抽樣等階段采用k均值聚類、決策樹算法等數據挖掘方法進行數據預處理后,使用C4.5決策樹分類算法和EBP剪枝算法構建畢業生就業預測模型。經過評估,在未知數據集上能實現一定的分類預測效果,尤其是對占比少的分類上能保證一定的預測準確率。模型所得規則亦為以往的就業指導經驗提供實證依據。將來還應進一步對不平衡數據集下的數據挖掘算法應用進行探討,以求提高占比小的分類預測準確率,實現為就業指導決策的制定提供數據支持的常態化。
參考文獻:
[1] Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth. From Data Mining to Knowledge Discovery in Databases[J]. AI Magazine,1997,17(3):37-54.
[2] 史彩虹. 高校擴招背景下大學生就業問題現狀及對策研究[D].山東師范大學,2008.
[3] [美]MehmedKantardzic.數據結構:概念、模型、方法和算法[M].2版.王曉海,吳志剛,譯.北京:清華大學出版社,2013.
[4] 王開軍.基于有效性指標的聚類算法選擇[J].四川師范大學學報,2011,34(6).
[5] 陳興穌.基于聚類的不平衡數據分類研究[D].東北師范大學,2013.
[6] 吳磊,房斌,刁麗萍,等.融合過抽樣和欠抽樣的不平衡數據重抽樣方法[J].計算機工程與應用,2013,49(21):172-176.
【通聯編輯:代影】