?

基于數據挖掘下機器學習算法對學生成績影響因素的研究

2021-11-21 11:47胡柳青
關鍵詞:三科決策樹學歷

胡柳青,趙 剛

(南昌航空大學 數學與信息科學學院,南昌 330063)

引 言

隨著信息量的增加,數據的計算和分析方法也在不斷地創新,機器學習算法被廣泛應用于實際生活中。數據挖掘是一個對海量信息進行沙里淘金的過程,它能將多元異構的信息轉化成可以直接應用的知識和商業價值。致力于利用大數據技術和機器學習算法解決各類應用問題的技術。而決策樹技術在數字化教育領域中的信息挖掘和知識發現這兩個層面的研究具有明顯的預測效果。大數據背景下在線學習數據分析方案設計[1-2],大數據環境下數據分析是數據價值挖掘的重要過程,該方法用于在線學習課程成績預測分析項目中,對其他數據分析項目也具有通用性。

基于學習分析的在線學業成績影響因素的研究[3-4],對現有文獻分析出目前研究中主要影響學業成績的要素。結合對原始數據的深度處理,得到和學習相關的高級行為指標利用機器學習中決策樹算法進行建模分析?;诮逃龜祿诰虻拇髮W生實驗課成績預測研究[5-6],可以根據過去的行動數據來預測未來的行為。模型預測為學習分析提出更有意義的組成部分,通過教育技術方法幫助學習者不斷提高學習成績[7-10]?;跀祿诰虻母咝W生成績預測分析[11-13],以數據為基礎的知識規則研究已經成為當前高校改進教學手段和提高教學質量的重要方法?;跊Q策樹算法的成績預測模型研究及應用[14-15],很好的運用機器學習方法能幫助老師更好的預測學生成績,能及時發現學生在學習中存在的問題,為學生更好地學習提出建議。隨著電化教育的興起,數據挖掘技術已經廣泛應用到了各個科學領域。決策樹算法是機器學習中常用的一種數據分析算法,它既可用于解決分類問題,也可用于解決回歸問題,本文通過介紹決策樹算法對學生成績進行預測,通過決策樹來擬合數據建立模型,通過模型可以直觀的反映數據所反饋的信息,從而進行預測。

1 數據收集和預處理

1.1 數據收集與流程概述

通過數據收集、數據清理、特征處理、誤差分析等步驟,建立了良好的線性回歸模型,尋找學生表現的最佳模型來預測學生成績。數據如表1所示。

表1 學生考試成績數據集文件

這是一個國外高中學生在校的學習行為和考試成績的一個數據集,可以看出這是一個分類變量的數據集。

1.2 數據預處理

機器學習在進行數據建模時,要求數據集不包含無關數據和缺失值,但原始數據集不滿足這一要求。因此,在建模之前應該通過數據清理來刪除缺失值。

1) 用pandas,numpy來讀取csv數據,利用sklearn來實現決策樹的形成。

2) 導入數據集。該數據集是某高中學生在校學習行為,家庭背景及學生成績的一個數據集,這是一個經典的決策樹數據集。

3) 用pandas來讀取csv文件,得到一個分類變量的數據集。為了方便建模,把數據集中的數據轉換成數值變量,結果如表2所示。

表2 標簽編碼后量化后的學生成績數據集

4) 提取訓練集與測試集。

5) 標準差標準化(standardScale),使處理的數據符合標準正態分布。

2 決策樹

2.1 決策樹簡介

決策樹算法是一種有監督機器學習算法,通過樹狀圖的結構直觀反應數據的規則,達到數據可視化從而解決分類和回歸的問題。其模型在機器學習中常被用于分類構成。

2.2 決策樹生成

1)創建或載入數據集。

創建或載入訓練的數據集,更常用的是利用numpy這個庫來讀取csv文件,載入一個數據集。Sklearn.tree中的決策樹的類都在“tree”這個模塊下處理流程如圖1所示。

圖1 數據預處理流程

2)生成決策樹模型。

生成決策樹,分割后的數據不一定都屬于同一類,需要根據多數投票標準對子數據集進行分類。具體步驟如下:

(1) 實例化,用訓練集數據訓練模型,從接口中調用需要的信息;

(2) 交叉驗證,決策樹是基于決策及其對情況的可能后果的樹狀結構或圖形,并且子節點的不純度一定低于父節點的不純度,決策樹的擬合程度越好,模型預測的精準度就越高。通常使用基尼系數來選取參數,數據準備后劃分訓練集與測試集。

3)決策樹可視化。

以字典的形式表示決策樹更加抽象,通常以圖像的形式呈現(如圖2)。Matplotlib可視化決策樹通過jupyter notebook直接生成圖像。將treePlotter.py拷貝到文件的根目錄,調繪決策樹函數即可構建決策樹模型,從sklearn,tree中調用DecisionTree-Classifier運行來畫出一顆決策樹,并且得到一個訓練集和測試集的一個分數1分,可以得到結果1,說明決策樹算法很適用于該數據集。決策樹算法用來創建到達目標規劃,并用來輔助決策,判其預測數據的可行性。

4)決策樹結論。

該決策樹基于gini系數大小比較首先來得到這個決策樹分類的根節點,決策樹的本質上通過是一層一層地根據條件遞歸從而做出判斷,葉節點對應決策結果。在這個數據集展現出來的決策樹中其預測的綜合得分率為80%,顯示預測結果具有一定程度上的可參考性,其中,其基尼系數越小,表示該數據純度越高。當基尼系數最小趨近于0時,每一個參數對應的預測結果比例如表3所示。

表3 決策樹基尼系數各參數預測比例

由表3可得:“父母學歷水平”這個參數在整個參數比例系數達到80%最高,可預測學生成績的參數評價比例最大,其次是“為考試做準備”這個參數在整個參數比例達到75%,可預測學生成績比例很大。

3 學生成績預測

3.1 數據預處理

1) 把學生的數學成績及格分數定為40分,以這個分數來作為劃分等級的起征點。

2) 利用pandas來讀取數據集csv文件,使用pandas庫中的數據框架描述函數,來觀察數據的范圍、大小、波動趨勢、可以得到該數據集中學生成績的各科分數的特征,包含了各科分數的平均數,標準差和方差,最大值和最小值。

3) 判斷該數據是否存在缺失值。

4) 數據集包括8個參數:gender 性別,race/ethnicity 種族,parental level of education 父母教育水平,lunch 午餐,test preparation course 考試準備課程,math score 數學,reading score 閱讀和writting score 寫作。

5) 對數據集進行標簽編碼,并在數據框增加一列三科平均成績,如圖3所示。

圖3 學生三科成績總平均分

3.2 數據可視化

1) 父母的教育水平是否會影響該數據集學生三科總成績的平均成績;通過箱線圖展示會加直觀,運行數據如下圖4所示;有沒有為考試課程準備對該數據集學生三科總的平均成績的影響,運行數據如圖5所示。

圖4中0,1,2,3,4,5分別表示副學士學歷,學士學位,高中學歷,碩士學位,大學學歷,一些高中學歷。從圖5可知有為考試課程做準備的學生三科總的平均成績比沒有為考試做準備的學生三科總的平均成績更高,其中父母具有研究生學歷的孩子的三科總成績的平均分數最高,其次是學士學位,副學士學位等。

圖4 學生家長教育水平對學生成績的影響圖示

圖5 學生有無考試準備對成績的影響圖示

3.3 學生成績分等級

1) 如果以一個指標作為依據實現起來就比較簡單;比如是平均成績小于40即為掛科的話,在這一千個數據的數據集里,我們可以看到,三科合并GHA通過的有970人,三科合并GPA不通過的有30人。

2) 讓我們來分配學生成績分數,定等級 80以上 = A分,70 至 80 = B級,60 至70 = C級,50 至60 = D級,40 至50 = E級,40以下 = F級(表示不及格),我們將把獲得的學生三科總的平均成績按順序畫出來,運行代碼,得到如下圖6所示,通過圖6可知A等級198人,B等級261人,C等級256人,D等 級178人,E等 級56人,F等 級51人。

圖6 各等級數據分布條形圖

3.4 影響學生成績等級的各個參數的分布情況

1) 父母的教育水平是否會影響該數據集學生的三科總成績平均分成績等級,數據可視化如圖7所示。有沒有為考試課程做準備影響該數據集學生的三科總成績平均分成績等級的分布,數據可視化如圖8所示。有沒有吃午飯對該數據集學生三科總的平均成績等級的劃分有沒有合格的影響,如圖9所示。男生女生的性別對該數據集學生三科總的平均成績等級劃分有沒有合格的影響,如圖10所示。

圖7 “家長不同教育學歷”與學生成績的分布條形圖

圖8 “考試準備課程”與學生成績的分布條形圖

圖9 “午飯”與學生成績的分布條形圖

圖7中bd、sc、md、ad、sc和hs分 別 表 示bachelor’s degree,somecollege,master ’s degree,associate’s degree、some college和highschool,可得學生父母學歷在“碩士”這個學位這一類A等級最高,在“一些大學?本科”這個學歷這一類B等級最高。從圖8可知有為考試課程做準備的這一類A等級最高,沒有為考試做準備的這一類B等級最高。圖9表明有標準午餐的學生在A等級最多,B等級最多。圖10表明在女生這一類中A等級最多,在B等級最多。

圖10 “性別”與學生成績的分布條形圖

4 結 論

根據以上的分析可知,“父母的教育水平”;“有沒有為考試課程準備”;“來自不同種族和不同民族”;“有沒有吃午飯”;“學生的性別”。根據數據的分析,我們發現在‘父母的教育水平’這個參數中的“研究生學歷”的父母的小孩三科總成績的平均分數通過率最高,成績最為明顯。本篇數據集中學生成績三科的總平均分數在(70~80)B等級最明顯,人數占有量最高,學生成績三科的總平均分數在(60~70)C等級的人數在總排名的第二位;其次是(80以上)A等級的人數;(50~60)D等級的人數;(40~50)E等級的人數排第三位;最后是(40以下)F等級即不及格的人數?!案改笇W歷”這個參數中“研究生學歷”這一列屬性‘A等級’人數最為明顯和集中;‘有沒有為考試課程做準備’這個參數中“準備”這一列屬性“A等級”人數最為明顯和集中;“有沒有吃午飯”這個參數中“合格標準”屬性這一列“A等級”人數最為明顯和集中;最后“性別”這個參數中“女生”這一列屬性“A等級”人數最為明顯和集中。得出可以通過數據挖掘下機器學習等一系列算法來分析學生成績的影響因素。

猜你喜歡
三科決策樹學歷
簡述一種基于C4.5的隨機決策樹集成分類算法設計
立德樹人,培育時代之花
膨脹學歷
三科微生物復合菌劑707新疆棉花施用效果試驗
決策樹學習的剪枝方法
知識無力感
以科技為帆 創行業品牌
學歷是工作的敲門磚
決策樹在施工項目管理中的應用
“學歷塔”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合