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 相关文章推荐
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
python 产生token及token验证的方法
Dec 26 Python
python如何实现视频转代码视频
Jun 17 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
python opencv 检测移动物体并截图保存实例
Mar 10 Python
Keras 加载已经训练好的模型进行预测操作
Jun 17 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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
复选框全选与全不选操作实现思路
2013/08/18 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
js简单抽奖代码
2015/01/16 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
用Python进行websocket接口测试
2020/10/16 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
工作睡觉检讨书
2014/02/25 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
红歌会主持词
2015/07/02 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
CSS基础详解
2021/10/16 HTML / CSS