Press "Enter" to skip to content

利用决策树预测学生成绩等级

文章目录

 

使用决策树完成学生成绩等级预测,可选取部分或全部特征,分析参数对结果的影响,并进行调参优化,决策树可视化进行调参优化分析

 

1.数据准备

 

1.1 引入头文件

 

 

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

 

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

 

 

1.3 特征选取

 

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

2.数据处理

 

2.1 对G1、G2、G3处理

 

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

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

 

 

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

 

 

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

 

 

3.训练得到的模型

 

3.1 决策树

 

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

 

 

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

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

 

 

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

 

 

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

 

 

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

 

 

输出优化后的分数。

3.2 集成学习

 

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

3.2.1 Decision Tree

 

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

3.2.2 Bagging算法

 

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

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

 

 

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

 

 

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

 

 

4.评价结果:

 

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

 

5.结论分析

 

根据决策树和集成学习两大类的训练模型可以看出:两种方式实现各有千秋,同样由优缺点。决策树在优化参数前后预测结果有了较明显的提升,并且有可视化的图片便于观察。集成学习中的Bagging算法对于预测结果是最好的,随之的得分情况也是最高。但是AdaBoost算法的表现就相对不够。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注