python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python决策树预测学生成绩等级

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

作者:极客范儿

这篇文章主要为介绍了python决策树预测学生成绩等级,使用决策树完成学生成绩等级预测,可选取部分或全部特征,分析参数对结果的影响,并进行调参优化,决策树可视化进行调参优化分析

1.数据准备

1.1 引入头文件

stu-001

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

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

stu-002

1.3 特征选取

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

stu-003

2.数据处理

2.1 对G1、G2、G3处理

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

stu-004

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

stu-005

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

stu-006

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

stu-007

3.训练得到的模型

3.1 决策树

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

stu-008

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

stu-009

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

stu-010

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

stu-011

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

stu-012

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

stu-013

输出优化后的分数。

stu-014

3.2 集成学习

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

stu-015

3.2.1 Decision Tree

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

stu-016

3.2.2 Bagging算法

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

stu-017

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

stu-018

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

stu-019

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

stu-020

4.评价结果:

模型得分
决策树(优化前)0.806
决策树(优化后)0.848
多个决策树0.831
Bagging0.890
Random Forest0.882
AdaBoost0.806
GBDT0.865

5.结论分析

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

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

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

您可能感兴趣的文章:
阅读全文