决策树算法

一。 决策树算法

**1:**决策树直观理解,
在这里插入图片描述
如上图所示:当构建好一个判断模型后,新来一个用户后,可以根据构建好的模型直接进行判断,比如新用户特性为:无房产、单身、年收入55K,那么根据判断得出该用户无法进行债务偿还。这种决策对于借贷业务有比较好的指导意义。

二. 信息熵(Entropy)

在这里插入图片描述
H(X)就叫做随机变量X的信息熵
1.信息量:指的是一个样本/事件所蕴含的信息,如果一个事件的概率越大,那么就可以认为该事件所蕴含的信息越少。极端情况下,比如:“太阳从东方升起”,因为是确定事件,所以不携带任何信息量
2.信息熵:1948年,香农引入信息熵;一个系统越是有序,信息熵就越低,一个系统越是混乱,信息熵就越高,所以信息熵被认为是一个系统有序程度的度量。
注:信息熵就是用来描述系统信息量的不确定度
** 3.High Entropy(高信息熵)**:表示随机变量X是均匀分布的,各种取值情况是等概率出现的。
4.Low Entropy(低信息熵):表示随机变量X各种取值不是等概率出现。可能出现有的事件概率很大,有的事件概率很小。

举一个信息熵的案例:

== 赌马比赛中,有两组赛马共八匹,获胜的概率如下==:
在这里插入图片描述
在比赛前,对于第一组而言,我们只知道A/B/C/D获胜的概率是一样的,我们是判断不出来任何偏向的;但是对于第二组而言,我们很清楚的就能够判断A会获胜。这样就能理解高低信息熵。

三. 条件熵H(Y|X)

条件熵:给定条件X的情况下,随机变量Y的信息熵。
**eg:**当专业(X)为数学的时候,Y的信息熵的值为:H(Y|X=数学)
在这里插入图片描述
在这里插入图片描述
则:在这里插入图片描述

四. 决策树

**1.决策树(Decision Tree)**是在已知各种情况发生概率的基础上,通过构建决策树来进行分析的一种方式,是一种直观应用概率分析的一种图解法;决策树是一种预测模型,代表的是对象属性与对象值之间的映射关系;决策树是一种树形结构,其中每个内部节点表示一个属性的测试,每个分支表示一个测试输出,每个叶节点代表一种预测类别;决策树是一种非常常用的有监督的分类算法。
2.决策树的决策过程就是从根节点开始,测试待分类项中对应的特征属性,并按照其值选择输出分支,直到叶子节点,将叶子节点的存放的类别作为决策结果。
3.决策树分为两大类:分类树和回归树,前者用于分类标签值,后者用于预测连续值,常用算法有ID3、C4.5、CART等
前面已经提到决策树的直观理解
4.决策树构建过程
决策树算法的重点就是决策树的构造;决策树的构造就是进行属性选择度量,确定各个特征属性之间的拓扑结构(树结构);构建决策树的关键步骤就是分裂属性,分裂属性是指在某个节点按照某一类特征属性的不同划分构建不同的分支,其目标就是让各个分裂子集尽可能的’纯’(让一个分裂子数据集中待分类的项尽可能的属于同一个类别)。
构建步骤如下:

  1. 将所有的特征看成一个一个的节点;
  2. 遍历当前特征的每一种分割方式,找到最好的分割点;将数据划分为不同的子节点,eg: N1、N2…Nm;计算划分之后所有子节点的’纯度’信息;
  3. 使用第二步遍历所有特征,选择出最优的特征以及该特征的最优的划分方式;得出最终的子节点: N1、N2…Nm
  4. 对子节点N1、N2…Nm分别继续执行2-3步,直到每个最终的子节点都足够’纯’。
    5.决策树特征属性类型
    根据特征属性的类型不同,在构建决策树的时候,采用不同的方式,具体如下:
    属性是离散值,而且不要求生成的是二叉决策树,此时一个属性就是一个分支
    属性是离散值,而且要求生成的是二叉决策树,此时使用属性划分的子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支
    属性是连续值,可以确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支
    6.决策树分割属性选择
    决策树算法是一种“贪心”算法策略,只考虑在当前数据特征情况下的最好分割方式,不能进行回溯操作。
    对于整体的数据集而言,按照所有的特征属性进行划分操作,对所有划分操作的结果集的“纯度”进行比较,选择“纯度”越高的特征属性作为当前需要分割的数据集进行分割操作,持续迭代,直到得到最终结果。决策树是通过“纯度”来选择分割特征属性点的。
    7. 决策树量化纯度
    决策树的构建是基于样本概率和纯度进行构建操作的,那么进行判断数据集是否“纯”可以通过三个公式进行判断,分别是Gini系数、熵(Entropy)、错误率,这三个公式值越大,表示数据越“不纯”;越小表示越“纯”;实践证明这三种公式效果差不多,一般情况使用熵公式:
    在这里插入图片描述
    当计算出各个特征属性的量化纯度值后使用信息增益度来选择出当前数据集的分割特征属性;如果信息增益度的值越大,表示在该特征属性上会损失的纯度越大 ,那么该属性就越应该在决策树的上层,计算公式为:
    在这里插入图片描述
    D目标属性,A为某一个待划分的特征属性;GainA为特征对训练数据集D的信息增益,它为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵**H(D|A)**之差

8.决策树算法的停止条件

决策树构建的过程是一个递归的过程,所以必须给定停止条件,否则过程将不会进行停止,一般情况有两种停止条件:
当每个子节点只有一种类型的时候停止构建
当前节点中样本数小于某个阈值,同时迭代次数达到给定值时,停止构建过程,此时使用max(p(i))作为节点的对应类型

NOTE:方式一可能会使树的节点过多,导致过拟合(Overfiting)等问题;比较常用的方式是使用方式二作为停止条件。

9.决策树算法效果评估

决策树的效果评估和一般的分类算法一样,采用混淆矩阵来进行计算准确率、召回率、精确率等指标
也可以采用叶子节点的不纯度值总和来评估算法的效果,值越小,效果越好
混淆矩阵如下:
在这里插入图片描述
在这里插入图片描述
决策树的损失函数(该值越小,算法效果越好)

10. 决策树直观理解结果计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值