机器学习——决策树(一)

【说明】文章内容来自《机器学习------基于sklearn》,用于学习记录。若有争议联系删除。

1、简介

决策树(decision tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于或等干0的概率,用以评价项且风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称为决策树。决策树是一种非常常见并且优秀的机器学习算法,它易于理解、可解释性强,其可用于分类算法,也可用于回归模型。

决策树将算法组织成一棵树的形式。其实这就是将平时所说的if-then语句构建成了树的形式。这棵决策树主要包括3部分:内部节点、叶节点和边。内部节点是划分的属性,边表示划分的条件,叶节点表示类别。构建决策树就是一个递归地选择内部节点,计算划分条件的边,最后到达叶子节点的过程。

1.1 特点

优点:

  • 推理过程容易理解,计算简单,可解释性强。
  • 比较适合处理有缺失属性的样本。
  • 可自动忽略目标变量没有贡献的属性变量,也为判断属性变量的重要性,减少变量的数目提供参考。

缺点:

  • 容易造成过拟合,需要采用剪枝操作。
  • 忽略了数据之间的相关性。
  • 对于各类别样本数量不一致的数据,信息增益会偏向于那些更多数值的特征。

1.2 示例

根据客户的职业、收入、年龄以及学历等信息判断客户是否有贷款意向。

客户信息表示为{职业,年龄,收入,学历}。某客户信息为{工人,39,1800,小学},决策树的决策步骤如下:

最终得出该客户无贷款意向。可以看出,属性选择的先后次序对于构造决策树有至关重要的作用。

2、决策树相关概念

2.1 信息

信息泛指在社会中传播的一切内容,包括音讯、消息、通信系统传输和处理的对象等。信息可以通过信息熵被量化。1948年,香农在《通信的数学原理》这篇论文中指出:"信息是用来消除随机不确定性的东西。"

2.2 信息熵

信息熵是表示信息含量的指标。越不确定的事件,其信息熵越大。信息熵的计算公式如下:

其中P(x)表示事件x出现的概率,X是事件全体的集合。

信息熵性质:

  1. 单调性。发生概率越高的事件,信息熵越低。例如,"太阳从东方升起"是确定事件,没有消除任何不确定性,所以不携带任何信息量。
  2. 非负性。信息熵不能为负。
  3. 累加性。多个事件总的信息熵等于各个事件的信息熵之和。

2.3 互信息

互信息是对两个离散型随机变量X和Y相关程度的度量,互信息的维恩图如图所示,左圆圈表示X的信息熵H(X),右圆圈表示Y的信息熵H(Y),并集是联合分布的信息熵H(X,Y),差集是条件熵H(X|Y)或H(Y|X),交集为互信息I(X,Y)。互信息越大,意味着两个随机变量的关联就越密切。

2.4 信息增益

决策树在划分数据集时选择信息熵变化最大的特征作为分类依据,也就是选择信息增益最大的特征作为分裂节点。不同的特征具有不同的信息增益,信息增益大的特征具有更强的分类能力。信息增益用g表示,其计算公式如下:

其中,条件熵H(X|A)是指在已知随机变量A的条件下X的不确定性。

3、决策树算法

决策树创建过程分为以下几步:

  1. 计算数据集划分前的信息熵。
  2. 遍历所有条件的特征,分别计算用每个特征划分数据集的信息熵。
  3. 选择信息增益最大的特征作为数据划分节点。
  4. 递归地处理被划分后的数据集,当满足信息增益的阚值时,结束递归。

决策树的典型算法有ID3.C4.5和 CART等。

3.1 ID3算法

ID3(Iterative Dichotomiser 3,迭代二叉树3代)是一种贪心算法,以信息论为基础,以信息熵和信息增益作为衡量标准,对数据进行分类。ID3算法具有构建速度快、实现简单等优点。ID3算法有如下缺点:

  • 依赖于数目较多的特征。
  • 不是递增算法
  • 不考虑特征属性之间的关系。
  • 抗噪性差。
  • 只适合小规模数据集。

3.2 C4.5算法

C4.5算法继承了1D3算法的优点,并在以下几方面进行了改进:

  • 弥补了信息增益选择偏向取值多的特征的缺陷。
  • 在决策树构造过程中进行剪枝操作。
  • 能够对连续属性进行离散化处理。
  • 能够对不完整数据进行处理,

C4.5算法需对数据集进行多次顺序扫描和排序,因此该算法的效率较低。

3.3 CART算法

ID3算法和 C4.5 算法生成的决策树规模较大。为了提高生成决策树的效率,出现了CART(Classification And Regression Tree,分类和回归树)算法。当叶子节点是连续型数据时,该决策树为回归树;当叶子节点是离散型数据时,该决策树为分类树。CART 根据基尼系数选择测试属性,数据集D的基尼系数 Gini(D)的计算公式如下:

Gini(D)反映了从数据集D中随机抽到两个不一致类别的样本的概率。Gini(D)越小,数据集D的纯度越高;反之,纯度越低。

ID3.C4.5和 CART这3种算法的比较如下:

  • ID3 和 C4.5算法均只适合在小规模数据集上使用。
  • ID3 和 C4.5算法构建的都是单变量决策树。
  • 当属性值较多时,C4.5算法效果较好,而ID3算法效果较差。
  • 三者划分依据不同:ID3为信息增益,C4.5为信息增益率,CART为基尼系数和均方差。
  • CART算法构建的决策树一定是二叉树,ID3 和 C4.5构建的决策树不一定是二叉树。
相关推荐
AI狂热爱好者3 分钟前
A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持
服务器·人工智能·ai·gpu算力
边缘计算社区3 分钟前
推理计算:GPT-o1 和 AI 治理
人工智能·gpt
虞书欣的66 分钟前
Python小游戏24——小恐龙躲避游戏
开发语言·python·游戏·小程序·pygame
TN_stark9326 分钟前
多进程/线程并发服务器
服务器·算法·php
FHYAAAX13 分钟前
【机器学习】任务十:从函数分析到机器学习应用与BP神经网络
开发语言·python
PyAIGCMaster22 分钟前
python环境中,敏感数据的存储与读取问题解决方案
服务器·前端·python
汉克老师31 分钟前
GESP4级考试语法知识(贪心算法(四))
开发语言·c++·算法·贪心算法·图论·1024程序员节
OBOO鸥柏1 小时前
OBOO鸥柏“触摸屏广告一体机交互”亮相2024中国珠海航展
大数据·人工智能·科技·交互
何曾参静谧1 小时前
「Py」模块篇 之 PyAutoGUI库自动化图形用户界面库
运维·python·自动化
Geeksend邮件营销1 小时前
定时清理潜在客户列表中的无效邮箱可提高EDM电子邮件自动化营销邮件送达率
人工智能·产品运营·用户运营·内容运营