python決策樹預測學生成績等級實現(xiàn)詳情
1.數(shù)據(jù)準備
1.1 引入頭文件

寫入頭文件之前,需要下載安裝所必須的依賴包。有的無法使用pip安裝的內(nèi)容,使用手動導入依賴的方式.
1.2 把student_1.csv數(shù)據(jù)拖入代碼的同一文件夾下,同時讀取文件中的數(shù)據(jù)

1.3 特征選取
課件中選取16個特征值,這里我采用了所有的特征值進行處理。

2.數(shù)據(jù)處理
2.1 對G1、G2、G3處理
對于離散值進行連續(xù)處理,同時設(shè)置lambda函數(shù)計算G1、G2、G3。

2.2 同樣對Pedu參數(shù)進行連續(xù)值處理

2.3 由于數(shù)據(jù)集中每個參數(shù)差異比較大,所以這里把特征參數(shù)統(tǒng)一改為數(shù)字形式

2.4 對于當前處理過的數(shù)據(jù)集,劃分訓練集和測試集,并設(shè)置好隨機種子等其他參數(shù)

3.訓練得到的模型
3.1 決策樹
3.1.1 開始對訓練集中的數(shù)據(jù)進行訓練

訓練完的模型用來設(shè)置圖像參數(shù)進行可視化展現(xiàn)。

3.1.2 利用已經(jīng)訓練好的模型來預測G3的值

對訓練好的模型進行打分。

3.1.3 對模型中的參數(shù)進行優(yōu)化,輸出優(yōu)化后最好的分數(shù)

3.1.4 優(yōu)化后的模型來繪制決策樹

輸出優(yōu)化后的分數(shù)。

3.2 集成學習
重新劃分數(shù)據(jù)集用于訓練模型。

3.2.1 Decision Tree
這里采用集成學習的多個決策樹方式進行訓練模型,以及模型的評估。

3.2.2 Bagging算法
這里采用集成學習的Bagging算法進行訓練模型,對模型做出分數(shù)估測。

3.2.3 這里采用集成學習的Random Forest算法進行訓練模型,對模型做出分數(shù)估測

3.2.4 這里采用集成學習的AdaBoost算法進行訓練模型,對模型做出分數(shù)估測

3.2.5 這里采用集成學習的GBDT算法進行訓練模型,對模型做出分數(shù)估測

4.評價結(jié)果:
| 模型 | 得分 |
|---|---|
| 決策樹(優(yōu)化前) | 0.806 |
| 決策樹(優(yōu)化后) | 0.848 |
| 多個決策樹 | 0.831 |
| Bagging | 0.890 |
| Random Forest | 0.882 |
| AdaBoost | 0.806 |
| GBDT | 0.865 |
5.結(jié)論分析
根據(jù)決策樹和集成學習兩大類的訓練模型可以看出:兩種方式實現(xiàn)各有千秋,同樣由優(yōu)缺點。
決策樹在優(yōu)化參數(shù)前后預測結(jié)果有了較明顯的提升,并且有可視化的圖片便于觀察。集成學習中的Bagging算法對于預測結(jié)果是最好的,隨之的得分情況也是最高。但是AdaBoost算法的表現(xiàn)就相對不夠。
以上就是python決策樹預測學生成績等級實現(xiàn)詳情的詳細內(nèi)容,更多關(guān)于python決策樹預測學生成績等級的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python中的Logging模塊在項目應(yīng)用小結(jié)
Python標準庫中的logging模塊為我們提供了強大而靈活的日志記錄功能,本文將介紹如何使用logging模塊,并探討其在Python開發(fā)中的實際應(yīng)用,感興趣的朋友一起看看吧2024-04-04
python實現(xiàn)AES算法及AES-CFB8加解密源碼
這篇文章主要為大家介紹了python實現(xiàn)AES算法及AES-CFB8加解密的源碼示例,有需要朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02
python實現(xiàn)K近鄰回歸,采用等權(quán)重和不等權(quán)重的方法
今天小編就為大家分享一篇python實現(xiàn)K近鄰回歸,采用等權(quán)重和不等權(quán)重的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

