问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

决策树是如何进行特征选择的?

创作时间:
作者:
@小白创作中心

决策树是如何进行特征选择的?

引用
CSDN
1.
https://blog.csdn.net/qq_39780701/article/details/136660493

决策树是一种常用的机器学习算法,它通过树形结构来进行分类和回归预测。在构建决策树的过程中,特征选择是一个关键步骤,它决定了树的结构和预测性能。本文将通过一个具体的例子,深入浅出地讲解决策树是如何进行特征选择的。

一、看一个猫咪二分类的例子

假设你正在教一群小朋友在公园里快速分辨出哪些动物是猫,哪些是狗。现在你们面前有一大堆动物的照片,每张照片都包含了三个特征,比如“耳朵形状”、“脸是不是圆的”、“有没有胡须”。让我们试着用决策树算法来构造一颗树,先只构造根节点和左右子树。


图1:决策树的根节点划分示例

选择耳朵是竖起来还是塌下去这个特征,我们把10个样本分成了两个子树。图中p代表猫猫出现的概率(或占比),H是信息熵函数。

二、什么是信息熵?

首先,我们得理解信息熵的概念,信息熵是衡量一个随机变量不确定性的度量。就像孩子们开始时对所有照片的不确定性。如果照片中猫和狗的数量各占一半,那么不确定性最高,就好比每个小朋友随机猜的话,正确率只有50%。这个不确定性可以用数学上的熵来量化:


图2:信息熵曲线图

(1)p=0.5 H=1的情况

这张图是信息熵的曲线图,可以看到在p=0.5的时候,信息熵最大意味着此时对于这张图片是猫咪还是小狗最不确定。也就是说是猫的可能性为50%,是狗的可能性也是50%。

(2)p=0.83 H=0.65的情况

假设p=0.83图中可以看出H(0.8)=0.65,这种情况是说,6个动物图片中有5个是小猫1个是小狗,那么我比较有把握的说和这6张图片类似的动物图片,我蛮确定它是小猫,有多确定它是小猫呢?有0.65的确定性。

(3)p=1 H=0的情况

假设p=1,从图中可以看出H=0,这种情况是说按照某种特征来区分猫狗,分出来一边全是猫咪,一边全是小狗,这意味着数据集中的不确定性最小(不确定性为零)。

(4)总结一下什么是信息熵

  • 信息熵是衡量一个随机变量不确定性的度量
  • 当某个事件发生完全确定时(概率为1或0),信息熵为0
  • 当事件发生的不确定性最高,所有可能结果的概率相同时,对于二元事件(如猫狗分类),信息熵达到最大值1

三、什么是信息增益?

简单说信息增益就是划分前的信息熵减去条件熵,表示使用该特征后不确定性减少的程度。


图3:信息增益计算示例

(1)加权平均信息熵

在图3中,用耳朵的形状进行划分后,左右两个子树的信息熵可以单独被计算出来,一个是H(0.8)=0.72另一个是H(0.2)=0.72,这两个数代表了两个子树他们的不确定性,可是我现在想知道的是用耳朵的形状进行划分这种策略所到账的不确定性。所以我可以使用加权平均的方法将左右两个合在一起计算得到这种特征用于根节点决策所导致不确定性:

其中的
就是权重,w具体是指子树的样本数量占总样本数量的比例,p具体是指猫出现在子树中的概率。这样我们就得到了采取某种特征进行分类的策略会导致多少不确定性。才能判断出这个特征选的好不好。

(2)信息增益公式

但这还不够,因为我们要思考这个策略好不好,主要不是看当下的H值,而是看他相较于上一次减少了多少不确定性,这样做更有利于我们判断到底选哪个特征做根节点好,所以我们得用前一次的不确定性减去这一次的不确定性,得出来的就是信息增益(根节点):

写成更一般(任意决策节点)的公式就是:

符号 含义
表示在给定特征 f 的条件下,数据集D的信息增益
数据集的原始信息熵
按特征f 的第 i 个值划分后的子集
子集大小占总数据集大小的比例
子集的信息熵

四、决策树是如何进行特征选择的?

具体选择的流程:

  1. 计算划分前的数据集熵(即原始不确定性)。
  2. 对于每一个特征,比如“耳朵形状”,按照这个特征把数据集划分为不同的子集。
  3. 分别计算每个子集的信息熵,并根据子集内样本数目的比例加权求和。
  4. 计算出信息增益,信息增益就是划分前的熵减去条件熵,表示使用该特征后不确定性减少的程度。
  5. 对比每一个特征计算出来的信息增益,选择那个信息增益最大的特征!

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号