◆張 戈
One-Hot編碼在學(xué)生選課數(shù)據(jù)分析中的應(yīng)用研究
◆張 戈
(中國社會科學(xué)院大學(xué) 北京 102488)
學(xué)生選課系統(tǒng)是當(dāng)前所有高校都會用到的應(yīng)用系統(tǒng),學(xué)生在選課時系統(tǒng)會獲取大量的選課數(shù)據(jù),通過對這些數(shù)據(jù)的分析,我們可以獲取很多有意義有價值的信息,可以更有效地幫助教師提高教學(xué)質(zhì)量。本研究根據(jù)學(xué)生選課數(shù)據(jù),基于機(jī)器學(xué)習(xí)的回歸模型建立了數(shù)據(jù)分析功能模塊,重點對原始數(shù)據(jù)的不合理、不可用進(jìn)行了論證分析,提出并詳細(xì)設(shè)計了使用One-Hot編碼解決這一問題的數(shù)據(jù)預(yù)處理方案,取得了良好的實驗效果。
One-Hot;數(shù)據(jù)異常;數(shù)據(jù)預(yù)處理;嶺回歸
學(xué)生選課系統(tǒng)是當(dāng)前高校都會用到的應(yīng)用系統(tǒng),除了用它進(jìn)行選課活動之外,系統(tǒng)逐年地積累了大量的選課數(shù)據(jù),對于這些數(shù)據(jù),我們可以從中獲取很多更有意義更有價值的信息,比如可以分析出不同專業(yè)的學(xué)生更喜歡哪些課程、他們對各類課程的需求、對哪些老師的課程比較偏愛,甚至可以預(yù)測下一屆的學(xué)生選課方向等等。本研究收集了以往歷屆學(xué)生的選課數(shù)據(jù),按我們的研究目標(biāo)方向,對數(shù)據(jù)進(jìn)行了篩選,并在此基礎(chǔ)上分類出訓(xùn)練集和測試集,建立起回歸模型,旨在分析出各個專業(yè)的學(xué)生對不同類型課程的偏好,預(yù)測下一次該專業(yè)的選課方向,并為學(xué)生提供課程推薦建議。
在選課系統(tǒng)中,選課數(shù)據(jù)量龐大而復(fù)雜,它包含“學(xué)生信息”、“課程信息”、“教師信息”、“院系信息”、“教學(xué)樓信息”,每個信息中又包含很多小類。我們的模塊功能目標(biāo)是分析出各個專業(yè)的學(xué)生更偏重哪類或哪些課程,并對下一次的選課方向進(jìn)行預(yù)測。因此,我們更關(guān)心那些可以幫助我們進(jìn)行分析和預(yù)測的數(shù)據(jù),包括“學(xué)生院系”、“學(xué)生專業(yè)”、“學(xué)生所選課程編號”等。在機(jī)器學(xué)習(xí)工具中我們采用嶺回歸模型進(jìn)行分析和預(yù)測,但是這些原始數(shù)據(jù)是無法直接使用的,即使對文本數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù),也存在諸多問題,依據(jù)此類數(shù)據(jù)訓(xùn)練出的模型分析和預(yù)測的準(zhǔn)確度非常低。因此研究的重點是分析數(shù)據(jù)存在哪些問題,并給出解決方案。
(1)文本數(shù)據(jù)不可用。比如“學(xué)生院系”、“學(xué)生專業(yè)”,這些數(shù)據(jù)是以中文字符呈現(xiàn)的。在機(jī)器學(xué)習(xí)中,訓(xùn)練集的數(shù)據(jù)是數(shù)值型,因此我們首先需要將文本數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù),才能被機(jī)器識別,并進(jìn)行訓(xùn)練。
(2)如何轉(zhuǎn)換數(shù)據(jù)。在將文本數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù)時,如何用數(shù)值表征一個特征向量的值呢。比如用1還是2來表示選課同學(xué)的院系和專業(yè)呢?目前比較通用的做法是按院系編號,比如“中文系”用數(shù)字1、“經(jīng)管系”用數(shù)字2來表示。結(jié)果如圖1。
可以看到“院系”的數(shù)據(jù)取值范圍在1到6之間,各個專業(yè)的取值范圍在1到9之間,對于“選課課程編號”,它的取值范圍就更大了,一所大學(xué)通常會有上百們的課程,取值范圍在1到300之間。這樣會衍生出兩個問題,特征向量值差異過大引起的小數(shù)值特征向量被大數(shù)值特征向量“吞吃”的結(jié)果。另外,在“院系”和“專業(yè)”兩個特征向量中,數(shù)據(jù)范圍從1到6或從1到9,會造成模型中距離公式計算結(jié)果不合理的情況。
綜上所述,我們需要設(shè)計一套解決上述問題的方案,才能讓回歸模型得分更高,分析和預(yù)測結(jié)果更準(zhǔn)確。
針對以上問題,本研究在分析了各種回歸模型的適用范圍和模型特點之后,采用嶺回歸模型來解決我們遇到“特征向量值差異過大”問題。在分析了數(shù)據(jù)特點之后,我們采用One-Hot編碼解決“距離計算不合理”問題。
前面分析了數(shù)據(jù)存在的特征向量值差異過大引起的小數(shù)值特征向量被大數(shù)值特征向量“吞吃”的問題。比如“學(xué)生所選課程編碼”的取值范圍是1到300,而“專業(yè)”特征的取值范圍是1到9,那么在機(jī)器學(xué)習(xí)模型中,計算各特征點距離時,取值范圍小的特征(專業(yè))其對結(jié)果的影響遠(yuǎn)比取值范圍大(學(xué)生所選課程編號)的特征要小的多,所以這就會造成計算精度的損失,模型分析和預(yù)測準(zhǔn)確度遠(yuǎn)遠(yuǎn)不夠。因此,我們在模型上采用嶺回歸模型,它可以將每個特征向量的系數(shù)變小,在一定程度上減小所有特征的影響力以達(dá)到統(tǒng)一化特征向量的目標(biāo)。
嶺回歸(ridge regression,)是一種專用于共線性數(shù)據(jù)分析的有偏估計回歸方法,實質(zhì)上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分信息、降低精度為代價獲得回歸系數(shù)更為符合實際、更可靠的回歸方法[1]。它可以有效防止模型的過擬合現(xiàn)象。在嶺回歸中,模型的各個特征變量沒有發(fā)生改變,它不像套索回歸去自動選擇去除不重要的特征向量。但是嶺回歸會減小每個特征變量的系數(shù)值,通過這種方法來防止模型的過擬合現(xiàn)象,這種方法被稱為L2正則化。L2 正則化公式直接在原來的損失函數(shù)基礎(chǔ)上加上權(quán)重參數(shù)的平方和:
其中,E是訓(xùn)練樣本誤差,是正則化參數(shù)。正則化的目的是限制特征向量過多,避免模型更加復(fù)雜[2]。
由此看來使用嶺回歸模型可以解決我們遇到的“特征向量值差異過大”問題。
在機(jī)器學(xué)習(xí)中,我們經(jīng)常會遇到像“性別”、“政治面貌”這樣的特征,它們的取值范圍分別是【‘男’,’女’】和【‘黨員’,’團(tuán)員’,’群眾’】。假設(shè)有“張三”這個人他的特征為“男、黨員”,“李四”這個人的特征為“女、群眾”,如果使用通常轉(zhuǎn)化方法,那么“張三”的特征值為【0,0】,“李四”的特征值為【1,2】。在模型中使用計算特征參數(shù)距離時,就會產(chǎn)生不合理的情況。以特征“政治面貌”為例,“黨員”是0,“團(tuán)員”是1,“群眾”是2,那么各個特征參數(shù)之間的距離d為:d(“黨員”,“團(tuán)員”)=1,d(“團(tuán)員”,“群眾”)=1,d(“黨員”,“群眾”)=2,這樣就會得到一個結(jié)論,“黨員”和“團(tuán)員”的近似度等于“團(tuán)員”和“群眾”的近似度,但是“黨員”和“群眾”之間就不那么近似了。但實際上三個參數(shù)相互之間的近似程度是一樣的。這樣一來,模型的訓(xùn)練集數(shù)據(jù)就是不合理的,那訓(xùn)練出來的模型又怎么會準(zhǔn)確呢?
在實驗中,我們采用python3語言編寫代碼,使用Jupiter notebook編程環(huán)境,調(diào)用sklearn庫中的預(yù)處理工具實現(xiàn)One-Hot編碼的數(shù)據(jù)預(yù)處理,python代碼及運行結(jié)果如圖2所示。
圖2 One-Hot編碼預(yù)處理數(shù)據(jù)代碼及結(jié)果
從圖中可以看到,我們使用One-Hot編碼預(yù)處理了訓(xùn)練集數(shù)據(jù),并依此訓(xùn)練模型,得到了新數(shù)據(jù)點【3,4,48】(法學(xué)系,法學(xué)專業(yè),課程編號為48)對應(yīng)的One-Hot編碼。同時獲得了嶺回歸模型的擬合函數(shù)方程。
本研究在對原始選課系統(tǒng)數(shù)據(jù)進(jìn)行剖析之后,決定采用One-Hot編碼對數(shù)據(jù)進(jìn)行預(yù)處理。首先實現(xiàn)了將文本類型數(shù)據(jù)轉(zhuǎn)換為機(jī)器學(xué)習(xí)可用的數(shù)字類型數(shù)據(jù)。同時,使用One-Hot編碼解決了訓(xùn)練集數(shù)據(jù)距離計算不合理的問題,使訓(xùn)練集的得分達(dá)到0.88的好成績。針對數(shù)據(jù)特征值差異過大的問題,本研究經(jīng)過分析采用了嶺回歸模型進(jìn)行數(shù)據(jù)擬合,結(jié)果證明嶺回歸模型可以在一定程度上緩解特征差異,但是該問題沒有得到根本解決。在今后的工作中本研究會繼續(xù)探討如何采用數(shù)據(jù)歸一化和標(biāo)準(zhǔn)化的方法根治特征差異過大問題,使系統(tǒng)可以得到最理想的預(yù)測結(jié)果。
[1]肖玲玲,鄭華,林爍爍,陳曉文.基于嶺回歸的四帶圖像偏色校正算法[J].計算機(jī)系統(tǒng)應(yīng)用,2019,28(08):129-135.
[2]紅色石頭的專欄.https://blog.csdn.net/red_stone1/article/details/80755144
[3]Yuchen Qiao,Xu Yang,Enhong Wu. The research of BP Neural Network based on One-Hot Encoding and Principle Component Analysis in determining the therapeuticeffect of diabetes mellitus[J]. IOP Conference Series: Earth and Environmental Science,2019,267(4).
[4]Jia Li,Yujuan Si,Tao Xu,Saibiao Jiang,Volodymyr Ponomaryov. Deep Convolutional Neural Network Based ECG Classification System Using Information Fusion and One-Hot Encoding Techniques[J]. Mathematical Problems in Engineering,2018,2018.
[5] Chandan Gautam,Aruna Tiwari,M. Tanveer. KOC+: Kernel ridge regression based one-class classification using privileged information[J]. Information Sciences,2019,504.
中國社會科學(xué)院大學(xué)校級科研項目。