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中的sort方法使用详解
Jul 25 Python
用于统计项目中代码总行数的Python脚本分享
Apr 21 Python
Python中单例模式总结
Feb 20 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
Python虚拟环境venv用法详解
May 25 Python
Python3开发环境搭建详细教程
Jun 18 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 clearstatcache()函数详解
2010/03/02 PHP
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
javascript抖动元素的小例子
2013/10/28 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
编程语言Python的发展史
2014/09/26 Python
python实现颜色空间转换程序(Tkinter)
2015/12/31 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
python生成n个元素的全组合方法
2018/11/13 Python
Python发展简史 Python来历
2019/05/14 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
服务质量承诺书
2014/03/27 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
秦兵马俑导游词
2015/02/02 职场文书
同意落户证明
2015/06/19 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
小学教师教学随笔
2015/08/14 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
mysql如何查询连续记录
2022/05/11 MySQL