脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python决策树预测学生成绩等级实现详情

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

2022-12-07 10:54极客范儿 Python

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

1.数据准备

1.1 引入头文件

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

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

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

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

1.3 特征选取

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

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

 

2.数据处理

2.1 对G1、G2、G3处理

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

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

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

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

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

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

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

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

 

3.训练得到的模型

3.1 决策树

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

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

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

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

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

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

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

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

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

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

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

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

输出优化后的分数。

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

3.2 集成学习

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

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

3.2.1 Decision Tree

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

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

3.2.2 Bagging算法

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

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

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

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

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

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

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

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

 

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决策树预测学生成绩等级的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/Prototype___/article/details/121485815

延伸 · 阅读

精彩推荐
  • PythonPython DataFrame.groupby()聚合函数,分组级运算

    Python DataFrame.groupby()聚合函数,分组级运算

    python的pandas包提供的数据聚合与分组运算功能很强大,也很灵活,本文就带领大家一起来了解groupby技术,感兴趣的朋友跟随小编一起来看下...

    brucewong051612872021-04-03
  • PythonPython基于百度AI实现抓取表情包

    Python基于百度AI实现抓取表情包

    本文先抓取网络上的表情图像,然后利用百度 AI 识别表情包上的说明文字,并利用表情文字重命名文件,感兴趣的小伙伴们可以参考一下...

    Amo Xiang7122021-12-09
  • PythonMac中Python 3环境下安装scrapy的方法教程

    Mac中Python 3环境下安装scrapy的方法教程

    作为一名python爬虫爱好者,怎能不折腾下Scrapy?折腾了许久之后终于安装到了mac中,所以下面这篇文章主要给大家介绍了关于Mac系统中Python 3环境下安装scr...

    Oneruofeng3942020-12-13
  • Python如何将pytorch模型部署到安卓上的方法示例

    如何将pytorch模型部署到安卓上的方法示例

    这篇文章演示如何将训练好的pytorch模型部署到安卓设备上,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    AI浩12832022-09-21
  • Python详解Python中的分组函数groupby和itertools)

    详解Python中的分组函数groupby和itertools)

    这篇文章主要介绍了Python中的分组函数groupby和itertools)的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...

    爱做梦的鱼23962021-03-16
  • PythonPython中文件操作简明介绍

    Python中文件操作简明介绍

    这篇文章主要介绍了Python中文件操作简明介绍,本文讲解了打开文件、读取方法、写入方法、文件内移动、文件迭代、关闭文件、截取文件等内容,并给出了...

    脚本之家3472020-06-04
  • Pythonpython 多线程实现检测服务器在线情况

    python 多线程实现检测服务器在线情况

    本文给大家分享的是Python使用多线程通过ping命令检测服务器的在线状况,给大家了内网和外网的2个例子,有需要的小伙伴可以参考下。 ...

    脚本之家4752020-08-03
  • Python基于Python爬取51cto博客页面信息过程解析

    基于Python爬取51cto博客页面信息过程解析

    这篇文章主要介绍了基于Python爬取51cto博客页面信息过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    Keep__Studying3632020-08-26