首页 > 其他分享 >一文看懂决策树

一文看懂决策树

时间:2023-06-12 12:36:02浏览次数:45  
标签:一文 特征 增益 算法 决策树 节点 属性

一文看懂决策树_决策树

 

决策树是一种逻辑简单的机器学习算法,它是一种树形结构,所以叫决策树。

本文将介绍决策树的基本概念、决策树学习的 3 个步骤、3 种典型的决策树算法、决策树的 10 个优缺点。

什么是决策树?

决策树是一种解决分类问题的算法,决策树算法采用树形结构,使用层层推理来实现最终的分类。决策树由下面几种元素构成:

  • 根节点:包含样本的全集
  • 内部节点:对应特征属性测试
  • 叶节点:代表决策的结果

一文看懂决策树_信息增益_02

 

预测时,在树的内部节点处用某一属性值进行判断,根据判断结果决定进入哪个分支节点,直到到达叶节点处,得到分类结果。

这是一种基于 if-then-else 规则的有监督学习算法,决策树的这些规则通过训练得到,而不是人工制定的。

决策树是最简单的机器学习算法,它易于实现,可解释性强,完全符合人类的直观思维,有着广泛的应用。

举个栗子:

上面的说法过于抽象,下面来看一个实际的例子。银行要用机器学习算法来确定是否给客户发放贷款,为此需要考察客户的年收入,是否有房产这两个指标。领导安排你实现这个算法,你想到了最简单的线性模型,很快就完成了这个任务。

首先判断客户的年收入指标。如果大于20万,可以贷款;否则继续判断。然后判断客户是否有房产。如果有房产,可以贷款;否则不能贷款。

这个例子的决策树如下图所示:

一文看懂决策树_决策树_03

 

决策树学习的 3 个步骤

一文看懂决策树_信息增益_04

 

特征选择

特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。

在特征选择中通常使用的准则是:信息增益。

决策树生成

选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。

决策树剪枝

剪枝的主要目的是对抗「过拟合」,通过主动去掉部分分支来降低过拟合的风险。

3 种典型的决策树算法

一文看懂决策树_过拟合_05

 

ID3 算法

ID3 是最早提出的决策树算法,他就是利用信息增益来选择特征的。

C4.5 算法

他是 ID3 的改进版,他不是直接使用信息增益,而是引入“信息增益比”指标作为特征的选择依据。

CART(Classification and Regression Tree)

这种算法即可以用于分类,也可以用于回归问题。CART 算法使用了基尼系数取代了信息熵模型。

决策树的优缺点

优点

  • 决策树易于理解和解释,可以可视化分析,容易提取出规则;
  • 可以同时处理标称型和数值型数据;
  • 比较适合处理有缺失属性的样本;
  • 能够处理不相关的特征;
  • 测试数据集时,运行速度比较快;
  • 在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

缺点

  • 容易发生过拟合(随机森林可以很大程度上减少过拟合);
  • 容易忽略数据集中属性的相互关联;
  • 对于那些各类别样本数量不一致的数据,在决策树中,进行属性划分时,不同的判定准则会带来不同的属性选择倾向;信息增益准则对可取数目较多的属性有所偏好(典型代表ID3算法),而增益率准则(CART)则对可取数目较少的属性有所偏好,但CART进行属性划分时候不再简单地直接利用增益率尽心划分,而是采用一种启发式规则)(只要是使用了信息增益,都有这个缺点,如RF)。
  • ID3算法计算信息增益时结果偏向数值比较多的特征。



标签:一文,特征,增益,算法,决策树,节点,属性
From: https://blog.51cto.com/u_14347868/6461369

相关文章

  • 一文解读MySQL事务
    经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。MySQL事务本文所说的MySQL事务都是指在InnoDB引擎下,MyISAM引擎是不支持事务的。数据库事务指的是一组数据操作,事务内的操作要么就是全......
  • 一文读懂华为全屋智能一文读懂华为全屋智能
     因此,这篇文章主要回答一个问题:什么是全屋智能?它和智能家居的区别到底在哪?我会以简单的逻辑,小白化的语言,辅以图片来进行描述,保证一定的可读性,带大家了解华为的全屋智能到底在做什么,全屋智能对我们的生活起居有多大影响。我们先回顾华为全屋智能的基本定义:具备智能的「中央控制模块......
  • 一文了解CDP
    传统营销模式下,我们越来越缺流量,流量也越来也贵;本质上,不是流量真的变少了,而是触点的碎片化,甚至粉末化;广告触达了一部分目标用户,或者顾客光临了店铺(无论线上或线下),已经产生了兴趣,甚至已有明确的意向,或者已经产生了消费,但是,我们既不知道这些用户具体是茫茫人海中哪一位,更无法主动再次......
  • [TSG开发日志2]串口通信?VS下FaroSDK编译环境?一文搞定
    艹,不知道为什么我之前写的法如sdk没有保存,总而言之就是莫名其妙整个工程没有了,后来我想了想,也有可能就是我自己删掉了,因为在配置法如工程的时候遇到了一些小问题,不过现在也解决了。一、关于串口通信:Qt的确有自己的串口通信类,就是QSerialPort,但是我们在使用过程中因为要更加定制......
  • 决策树DecisionTree
    模型亮点数据清洗方式得当由于模型、数据集太小,没有什么好调的,就当练习吧~-----------------------------------------以下为模型具体实现-----------------------------------------Step1.数据读取importpandasaspddf=pd.read_csv('bankdebt.csv',index_col=0,header......
  • 决策树(实验室会议小记)
    特征选择为什么要进行特征选择?特征过多导致过拟合、有一些特征是噪音。特征选择技术:1、尝试所有组合:也是全局最优2、贪心算法:每次决策都是基于当前情况去寻找最优解。计算过程:把特征加进去→是否更优?→是:加入模型/否:淘汰3、L1正则:目标函数为损失函数;特点:具有稀疏性4、决......
  • 对“美国出现的SARS-CoV-2的分子进化特征”一文的简要介绍
    对“美国出现的SARS-CoV-2的分子进化特征”一文的简要介绍冠状病毒(CoV)是一种RNA病毒,可感染人类和其他哺乳动物,可引起多种疾病,例如呼吸道、肠道、肝脏和神经系统疾病。感染人类的冠状病毒有七种类型,包括SARS-CoV、MERS-CoV、HCoV-229E、HCoV-HKU1、HCoV-NL63、HCoV-OC43和SARS-CoV......
  • Mysql文章大汇总,一文全搞定!!!
    一次MySQL千万级大表的优化过程开发人员必备的9大MySQL索引和查询优化mysql性能优化之一【索引--基础】mysql性能优化一mysql性能优化二高级版MySQL优化方案常见mysql的慢查询优化方式MySQL性能优化之骨灰级,高阶神技!史上最全的MySQL高性能优化实战总结!Spring-boot+Mybatis+Maven......
  • 3.5决策树算法
    1.认识决策树决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法怎么理解这句话?通过一个对话例子想一想这个女生为什么把年龄放在最上面判断!!!!!!!!!如何高效的进行决策?   特征的先后顺序2.决策树的原......
  • Python+sklearn决策树算法使用入门
    在学习决策树算法之前,首先介绍几个相关的基本概念。决策树算法原理与sklearn实现简单地说,决策树算法相等于一个多级嵌套的选择结构,通过回答一系列问题来不停地选择树上的路径,最终到达一个表示某个结论或类别的叶子节点,例如有无贷款意向、能够承担的理财风险等级、根据高考时各科成......