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

目录
  • 1.数据准备
    • 1.1 引入头文件
    • 1.2 把student_1.csv数据拖入代码的同一文件夹下,同时读取文件中的数据
    • 1.3 特征选取
  • 2.数据处理
    • 2.1 对G1、G2、G3处理
    • 2.2 同样对Pedu参数进行连续值处理
    • 2.3 由于数据集中每个参数差异比较大,所以这里把特征参数统一改为数字形式
  • 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算法
      • 3.2.3 这里采用集成学习的Random Forest算法进行训练模型,对模型做出分数估测
      • 3.2.4 这里采用集成学习的AdaBoost算法进行训练模型,对模型做出分数估测
      • 3.2.5 这里采用集成学习的GBDT算法进行训练模型,对模型做出分数估测
  • 4.评价结果:
  • 5.结论分析

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
Bagging 0.890
Random Forest 0.882
AdaBoost 0.806
GBDT 0.865

5.结论分析

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

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

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

(0)

相关推荐

  • Python3 ID3决策树判断申请贷款是否成功的实现代码

    1. 定义生成树 # -*- coding: utf-8 -*- #生成树的函数 from numpy import * import numpy as np import pandas as pd from math import log import operator # 计算数据集的信息熵(Information Gain)增益函数(机器学习实战中信息熵叫香农熵) def calcInfoEnt(dataSet):#本题中Label即好or坏瓜 #dataSet每一列是一个属性(列末是La

  • python使用sklearn实现决策树的方法示例

    1. 基本环境 安装 anaconda 环境, 由于国内登陆不了他的官网 https://www.continuum.io/downloads, 不过可以使用国内的镜像站点: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 添加绘图工具 Graphviz http://www.graphviz.org/Download_windows.php 安装后, 将bin 目录内容添加到环境变量path 即可 参考blog : https://

  • 决策树剪枝算法的python实现方法详解

    本文实例讲述了决策树剪枝算法的python实现方法.分享给大家供大家参考,具体如下: 决策树是一种依托决策而建立起来的一种树.在机器学习中,决策树是一种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象,树中的每一个分叉路径代表某个可能的属性值,而每一个叶子节点则对应从根节点到该叶子节点所经历的路径所表示的对象的值.决策树仅有单一输出,如果有多个输出,可以分别建立独立的决策树以处理不同的输出. ID3算法:ID3算法是决策树的一种,是基于奥卡姆剃刀原理的,即用尽量用

  • python输出决策树图形的例子

    windows10: 1,先要pip安装pydotplus和graphviz: pip install pydotplus pip install graphviz 2,www.graphviz.org下载msi文件并安装. 3,系统环境变量path中增加两项: C:\Program Files (x86)\Graphviz2.38\bin C:\Program Files (x86)\Graphviz2.38 #确认graphviz是安装在上面路径当中. 4,python中使用方法: from

  • Python机器学习算法库scikit-learn学习之决策树实现方法详解

    本文实例讲述了Python机器学习算法库scikit-learn学习之决策树实现方法.分享给大家供大家参考,具体如下: 决策树 决策树(DTs)是一种用于分类和回归的非参数监督学习方法.目标是创建一个模型,通过从数据特性中推导出简单的决策规则来预测目标变量的值. 例如,在下面的例子中,决策树通过一组if-then-else决策规则从数据中学习到近似正弦曲线的情况.树越深,决策规则越复杂,模型也越合适. 决策树的一些优势是: 便于说明和理解,树可以可视化表达: 需要很少的数据准备.其他技术通常需要

  • Python实现决策树并且使用Graphvize可视化的例子

    一.什么是决策树(decision tree)--机器学习中的一个重要的分类算法 决策树是一个类似于数据流程图的树结构:其中,每个内部节点表示一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或者类的分布,树的最顶层是根结点 根据天气情况决定出游与否的案例 二.决策树算法构建 2.1决策树的核心思路 特征选择:从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法). 决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集

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

    目录 1.数据准备 1.1 引入头文件 1.2 把student_1.csv数据拖入代码的同一文件夹下,同时读取文件中的数据 1.3 特征选取 2.数据处理 2.1 对G1.G2.G3处理 2.2 同样对Pedu参数进行连续值处理 2.3 由于数据集中每个参数差异比较大,所以这里把特征参数统一改为数字形式 3.训练得到的模型 3.1 决策树 3.1.1 开始对训练集中的数据进行训练 3.1.2 利用已经训练好的模型来预测G3的值 3.1.3 对模型中的参数进行优化,输出优化后最好的分数 3.1.

  • C语言实现学生成绩等级划分的方法实例

    题目·:用if-else嵌套语句实现学生成绩等级查询 要求:分为ABCD4个等级,100-90为A:90-70为B:70-60为C:60以下为D 思路: 1.先从键盘键入一个数 2.判断输入的数是否为0-100 3.然后依次判断所属的分数区间 示例代码 #include<stdio.h> int main(int argc, const char *argv[]) { printf("please input your score:\n"); float score; sc

  • python mysql实现学生成绩管理系统

    这学期在学python,感觉想写一个东西来巩固自己的基础,因为大二的时候我看过python,所以还是一共花了几个小时写了一个基于mysql的成绩管理系统,这个东西其实拿不出手,不过就当复习基本了. 1 .首先如果你python中没安装mysql的驱动,还是要打开cmd命令行安装一下才可以使用: pip3 install PyMySQL 2 .创建数据库studentdb,你可以在图形化界面sqlyog中创建: 3 .然后在数据库中创建表st 4 .python连接数据库的核心代码: db = p

  • python编写学生成绩管理系统的逻辑结构及功能实现

    目录 学生信息系统 一.功能界面 二 .主函数 三 .学生信息录入功能 四 .学生信息查找功能 五 .删除学生信息 六 .学生信息修改功能 七 .学生成绩排序 八 . 学生人数统计 九 .显示所有学生信息 程序打包 学生信息系统 提示:python编写的学生成绩管理系统,包括8个功能和打包教程 一.功能界面 def menum(): print('==================student_manger=================') print('----------------

  • Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面. 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除. 按学生成绩进行排

  • Python学生成绩管理系统简洁版

    讲起学生成绩管理系统,从大一C语言的课程设计开始,到大二的C++课程设计都是这个题,最近在学树莓派,好像树莓派常用Python编程,于是学了一波Python,看了一点基本的语法想写点东西练下手. 开发环境:Ubuntu+Python2.7 代码如下: #coding=utf-8 #保存学生信息 studentList=[] def addInfo(name,addr): tempInfo={} tempInfo['name']=name tempInfo['addr']=addr student

  • 使用Python进行体育竞技分析(预测球队成绩)

    今天我们用python进行体育竞技分析,预测球队成绩 一. 体育竞技分析的IPO模式 : 输入I(input):两个球员的能力值,模拟比赛的次数(其中,运动员的能力值,可以通过发球方赢得本回合的概率来表示, 一个能力值为0.8的球员,在他发球时,有80%的可能性赢得1分) 处理P(process):模拟比赛过程 输出O(output):两个球员获胜的概率 该体育竞技程序,我们采用自顶向下的设计方法. 自顶向下的设计是一种解决复杂问题的行之有效的方法.其步骤如下 自顶向下设计的基本思想,如下图:

  • python创建学生成绩管理系统

    python学生成绩管理系统创建,供大家参考,具体内容如下 要求编写学生类,班级类,并在电脑运行生成表单,输入一个数字,得到对应的结果. 输出样式 代码如下 学生类 class Student: def __init__(self,sno,name,english,math): self.sno=sno self.name=name self.__english=english self.__math=math @property def english(self): return self._

  • python实现简易版学生成绩管理系统

    300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下 使用链表来实现 class Node(object): def __init__(self, data, pointer): self.data = data self.next = pointer # 创建单链表 class SingleLinkedList(object): def __init__(self): self.head = Node(None, None) self.point = self.hea

  • python实现学生成绩测评系统

    本文实例为大家分享了python实现学生成绩测评系统的具体代码,供大家参考,具体内容如下 1.问题描述(功能要求):  根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,图文并茂(流程图),主要(关键代码)须有详细注释,写清楚测试结果,分析存在的问题: 1)通过类的知识实现学生成绩信息(学号.姓名.院系.三门课成绩.考试平均成绩.同学互评分.任课教师评分.综合测评总分,其中综合测评总分由:考试平均成绩70%,同学互评分10%,任课教师评分20%,): 2)能够实现学生成绩信息的

随机推荐