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实现ftp客户端示例分享
Feb 17 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
Python实现PS滤镜功能之波浪特效示例
Jan 26 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
python numpy实现文件存取的示例代码
May 26 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
python word转pdf代码实例
Aug 16 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
Python之京东商品秒杀的实现示例
Jan 06 Python
python学习之panda数据分析核心支持库
May 07 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
在smarty中调用php内置函数的方法
2013/02/07 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
php实现微信扫码支付
2017/03/26 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
canvas的神奇用法
2017/02/03 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python中logging日志库实例详解
2020/02/19 Python
简单了解Python write writelines区别
2020/02/27 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
平面设计岗位职责
2013/12/14 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
护理职业生涯规划书
2014/01/24 职场文书
爱国演讲稿500字
2014/05/04 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis
Go gorilla/sessions库安装使用
2022/08/14 Golang