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

本文介绍了决策树的基本流程,包括递归生成过程和三种递归返回情况。在划分选择部分,详细讲解了信息熵、信息增益、信息增益率和基尼指数的概念及计算,探讨它们在选择最优划分属性时的作用和偏好。剪枝策略中,分析了预剪枝和后剪枝的区别和适用场景,以及它们在防止过拟合和欠拟合中的平衡。最后讨论了连续值处理和缺失值处理的方法。
摘要由CSDN通过智能技术生成

1. 基本流程

(1)定义
一般的,一棵决策树包含一个根节点、若干内部节点和叶节点。

  • 叶节点:对应决策结果。
  • 根节点和中间节点:根据属性测试的结果将所属样本划分到其子节点中。

(2)决策树基本算法
决策树的生成是一个递归过程。

  • 在每次递归中,首先判断是否达到递归返回条件,获得叶节点。
  • 选择最优化分节点。
  • 根据节点的属性测试结果将包含的样本划分到子节点。
  • 以子节点为子树根节点,剔除当前最优划分属性,调用决策树生成函数。

在这里插入图片描述
(3)三种递归返回情况

  • 当前D中所有样本都属于同一类别C时:
    将Node标记为类型为C的叶节点。
  • 当前属性集A为空:
    多数投票,将Node标记为当前样本集合D中数量最多类别的叶节点。
  • 当前样本集D为空
    将Node标记为其父节点样本中数量最多的类的叶节点。

2. 划分选择

我们希望随着划分的不断进行,决策树的分支节点的纯度越来越高,分支节点所包含的样本尽可能属于同一类别。

属性 缺点 方法 内容
信息增益 对可取值数目较多的属性有所偏好 ID3 选择信息增益最大的属性
信息增益率 对可取值数目较多的属性有所偏好 C4.5 从候选划分属性找出信息增益高于平均水平的属性,再从中选取增益率最高
基尼指数 CART 选择划分后基尼指数最小的属性

2.1 信息增益(information gain)

(1)信息熵
信息熵(information entropy)是度量样本纯度最常用的一种指标。
E n t ( D ) = − ∑ k = 1 ∣ γ ∣ p k log ⁡ 2 p k Ent(D)=-\sum_{k=1}^{|\gamma|} p_k \log_2 p_k Ent(D)=k=1γpklog2pk

度量: E n t ( D ) Ent(D) Ent(D)值越小,惊异值越小,纯度越高。

  • 假设当 p k = 0 p_k=0 pk=0时, p k log ⁡ 2 p k = 0 p_k \log_2 p_k =0 pklog2pk=0
  • p k = 1 p_k=1 pk=1时, E n t ( D ) Ent(D) Ent(D)值最小为0。当 p k = 1 ∣ γ ∣ p_k=\frac{1}{|\gamma|} pk=γ1时,即样本按类别1:1分布时, E n t ( D ) Ent(D) Ent(D)值最大为1.

理解: 信息熵用于度量某一样本集D的纯度。只要给定样本集就可以计算其对应的信息熵。

(2)信息增益(information entropy)
假设离散属性 α \alpha α V V V个可能的取值为 { a 1 , a 2 , ⋯   , a V } \{a_1,a_2,\cdots,a_V\} { a1,a2,,aV},用 α \alpha α来进行划分,会产生 V V V个分支节点。其中第v各分支节点包含了D中所有在属性 α \alpha α上取值为 a v a_v av的样本,记为 D v D^v Dv
可以计算出用属性 α \alpha α对样本D进行划分所得到的信息增益:
G a i n ( D , α ) = E n t ( D ) − ∑ i = 1 V ∣ D i ∣ ∣ D ∣ E n t ( D i ) Gain(D,\alpha)=Ent(D)-\sum_{i=1}^V \frac{|D^i|}{|D|}Ent(D^i) Gain(D,α)=Ent(D)i=1VDDiEnt(Di)

其中, ∣ D i ∣ ∣ D ∣ \frac{|D^i|}{|D|} DDi为该分支节点 a i a_i ai的权重,样本数越多分支节点的影响越大。

  • 信息增益 = 划分前的信息上 - 划分后各分支节点信息熵的加权和。
  • 一般而言,信息增益越大,则意味着使用 α \alpha α来进行划分所获得的纯度提升越大。

(3)实例分析
以色泽属性为例,计算按色泽划分后的信息增益:
在这里插入图片描述

  1. 计算划分前样本集D的信息熵
    E n t ( D ) = 8 17 l o g 2 8 17 + 9 17 l o g 2 9 17 = 0.998 Ent(D)=\frac{8}{17}log_2\frac{8}{17}+\frac{9}{17}log_2\frac{9}{17}=0.998 Ent(D)=178log2178+17
决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠long馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值