Python sklearn分类决策树方法详解


Posted in Python onSeptember 23, 2022

决策树模型

  决策树(decision tree)是一种基本的分类与回归方法。

  分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。

  用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶结点。最后将实例分到叶结点的类中。

Python sklearn分类决策树方法详解

     用于预测一个人是否肥胖或不肥胖的决策树

决策树学习

  决策树学习算法包括3部分:特征选择、树的生成和树的剪枝。常用的算法有ID3、 C4.5和CART。

  1、特征选择的目的在于选取对训练数据能够分类的特征。特征选择的关键是其准则。常用的准则如下:

  (1)样本集合D对特征A的信息增益(ID3)

  (2)样本集合D对特征A的信息增益比(C4.5)

  (3)样本集合D的基尼指数(CART)

  2.决策树的生成。通常使用信息增益最大、信息增益比最大或基尼指数最小作为特征选择的准则。决策树的生成往往通过计算信息增益或其他指标,从根结点开始,递归地产生决策树。这相当于用信息增益或其他准则不断地选取局部最优的特征,或将训练集分割为能够基本正确分类的子集。

   3.决策树的剪枝。由于生成的决策树存在过拟合问题,需要对它进行剪枝,以简化学到的决策树。决策树的剪枝,往往从已生成的树上剪掉一些叶结点或叶结点以上的子树,并将其父结点或根结点作为新的叶结点,从而简化生成的决策树。

使用Scikit-learn进行决策树分类

import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree
import matplotlib.pyplot as plt
iris=load_iris()
print(iris.feature_names)
print(iris.target_names)
#划分数据集
removed =[0,50,100]
new_target = np.delete(iris.target,removed)
new_data = np.delete(iris.data,removed, axis=0)
#训练分类器
clf = tree.DecisionTreeClassifier() # 定义决策树分类器
clf=clf.fit(new_data,new_target)
prediction = clf.predict(iris.data[removed])
print("Original Labels",iris.target[removed])
print("Labels Predicted",prediction)
#绘制决策树
plt.figure(figsize=(15, 10))
tree.plot_tree(clf, feature_names=iris.feature_names, filled=True)
plt.show()

Python sklearn分类决策树方法详解

参考链接传送门

到此这篇关于Python sklearn分类决策树方法详解的文章就介绍到这了,更多相关Python sklearn决策树内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python创建xml的方法
Mar 10 Python
python简单程序读取串口信息的方法
Mar 13 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
Python脚本实时处理log文件的方法
Nov 21 Python
Python中扩展包的安装方法详解
Jun 14 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
Python实现DDos攻击实例详解
Feb 02 Python
python matlab库简单用法讲解
Dec 31 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 Python
baselines示例程序train_cartpole.py的ImportError
May 20 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 Python
详解Golang如何实现支持随机删除元素的堆
python中validators库的使用方法详解
Sep 23 #Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 #Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 #Python
Golang Web 框架Iris安装部署
Aug 14 #Python
python manim实现排序算法动画示例
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 #Python
You might like
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
php筛选不存在的图片资源
2015/04/28 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
selenium+python实现自动登录脚本
2018/04/22 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
什么时候用assert
2015/05/08 面试题
会计电算化专业应届大学生求职信
2013/10/22 职场文书
毕业生就业推荐信范文
2013/12/01 职场文书
运动会广播稿500字
2014/01/28 职场文书
煤矿安全生产标语
2014/06/06 职场文书
年终晚会活动方案
2014/08/21 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
护理自荐信
2019/05/14 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
代码复现python目标检测yolo3详解预测
2022/05/06 Python