python决策树预测学生成绩等级实现详情

1.数据准备

1.1 引入头文件

python决策树预测学生成绩等级实现详情_第1张图片

写入头文件之前,需要下载安装所必须的依赖包。有的无法使用pip安装的内容,使用手动导入依赖的方式.

1.2 把student_1.csv数据拖入代码的同一文件夹下,同时读取文件中的数据

python决策树预测学生成绩等级实现详情_第2张图片

1.3 特征选取

课件中选取16个特征值,这里我采用了所有的特征值进行处理。

python决策树预测学生成绩等级实现详情_第3张图片

2.数据处理

2.1 对G1、G2、G3处理

对于离散值进行连续处理,同时设置lambda函数计算G1、G2、G3。

python决策树预测学生成绩等级实现详情_第4张图片

2.2 同样对Pedu参数进行连续值处理

python决策树预测学生成绩等级实现详情_第5张图片

2.3 由于数据集中每个参数差异比较大,所以这里把特征参数统一改为数字形式

python决策树预测学生成绩等级实现详情_第6张图片

2.4 对于当前处理过的数据集,划分训练集和测试集,并设置好随机种子等其他参数

python决策树预测学生成绩等级实现详情_第7张图片

3.训练得到的模型

3.1 决策树

3.1.1 开始对训练集中的数据进行训练

python决策树预测学生成绩等级实现详情_第8张图片

训练完的模型用来设置图像参数进行可视化展现。

python决策树预测学生成绩等级实现详情_第9张图片

3.1.2 利用已经训练好的模型来预测G3的值

python决策树预测学生成绩等级实现详情_第10张图片

对训练好的模型进行打分。

python决策树预测学生成绩等级实现详情_第11张图片

3.1.3 对模型中的参数进行优化,输出优化后最好的分数

python决策树预测学生成绩等级实现详情_第12张图片

3.1.4 优化后的模型来绘制决策树

python决策树预测学生成绩等级实现详情_第13张图片

输出优化后的分数。

python决策树预测学生成绩等级实现详情_第14张图片

3.2 集成学习

重新划分数据集用于训练模型。

stu-015

3.2.1 Decision Tree

这里采用集成学习的多个决策树方式进行训练模型,以及模型的评估。

python决策树预测学生成绩等级实现详情_第15张图片

3.2.2 Bagging算法

这里采用集成学习的Bagging算法进行训练模型,对模型做出分数估测。

python决策树预测学生成绩等级实现详情_第16张图片

3.2.3 这里采用集成学习的Random Forest算法进行训练模型,对模型做出分数估测

python决策树预测学生成绩等级实现详情_第17张图片

3.2.4 这里采用集成学习的AdaBoost算法进行训练模型,对模型做出分数估测

python决策树预测学生成绩等级实现详情_第18张图片

3.2.5 这里采用集成学习的GBDT算法进行训练模型,对模型做出分数估测

python决策树预测学生成绩等级实现详情_第19张图片

4.评价结果:

模型 得分
决策树(优化前) 0.806
决策树(优化后) 0.848
多个决策树 0.831
Bagging 0.890
Random Forest 0.882
AdaBoost 0.806
GBDT 0.865

5.结论分析

根据决策树和集成学习两大类的训练模型可以看出:两种方式实现各有千秋,同样由优缺点。

决策树在优化参数前后预测结果有了较明显的提升,并且有可视化的图片便于观察。集成学习中的Bagging算法对于预测结果是最好的,随之的得分情况也是最高。但是AdaBoost算法的表现就相对不够。

以上就是python决策树预测学生成绩等级实现详情的详细内容,更多关于python决策树预测学生成绩等级的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(python决策树预测学生成绩等级实现详情)