机器学习——决策树

本文详细介绍了决策树的基本概念,包括其构成、学习算法、特征选择方法(信息增益、增益率和基尼指数)、剪枝处理(预剪枝和后剪枝),以及随机森林分类器的应用。还展示了如何在Python中构建决策树模型,包括数据预处理和模型评估。
摘要由CSDN通过智能技术生成

目录

一、决策树基本概念

1.决策树的构成

2.决策树学习的基本算法

3.特征选择

信息增益(ID3)

增益率(C4.5)

基尼指数(CART)

4.剪枝处理

1.剪枝概念

2.剪枝目的

3.剪枝方法

预剪枝(Pre-pruning)

后剪枝(Post-pruning)

4.判断决策树泛化性能是否提升的方法:

5.随机森林分类器

二、构建决策树

1.收集特征

2.构造模型

3.绘制决策树:

4.代码中的小解疑

三、总结

一、我的实验

二、其他方法


一、决策树基本概念

1.决策树的构成

分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点(节点代表一个特征或属性)、分支(分支代表一个特征取值)、叶子节点(叶子节点代表一个类别或结果)组成。

2.决策树学习的基本算法

  • 输入训练集D(即样本)和属性集A(即特征)
  • 生成结点(根结点)
  • 若D中样本全属于同一类别C,无需划分,叶子节点标记为类别C,返回。
  • 若属性集为空,则说明在决策树的构建过程中,可能已经使用了所有的属性或特征来划分数据集,并且当前节点的数据样本中不存在其他未使用过的属性。此时,当前结点标记为叶子节点,以该结点所含样本最多的类别当结果。
  • 若所有样本在所有属性上取值相同,此时,当前结点标记为叶子节点,以该结点所含样本最多的类别当结果。
  • 当前结点包含的样本集合为空,说明没有收集到某种特征的样本,这种时候,当前结点标记为叶子节点,以父结点中类别数量多的当结果。

决策过程中提出的每个判定问题都是对某个属性的“测试” 每个测试的结果或是导出最终结论,或者导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内 从根结点到每个叶结点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一棵泛化能力强,处理未见示例能力强的决策树

3.特征选择

构建决策树的关键选择最佳的特征来进行划分。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。常用的特征选择指标包括信息增益(ID3)、增益率(C4.5)、基尼指数(CART)等,它们用于度量特征对分类任务的贡献程度。

  • 信息增益(ID3)

1.“信息熵”是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本所占的比例为 pk (K=1, 2, ..., |y|),则D的信息熵定义为

Ent\left ( D \right )=-\sum_{k=1}^{\left | y \right |}p_{k}log_{2}p_{k}

Ent(D)的值越小,则D的纯度越高

计算信息熵时约定:若p = 0,则plog2p=0

Ent(D)的最小值为0,最大值为log2|y|

2.离散属性a有V个可能的取值{a1, a2, ..., aV},用a来进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv。则可计算出用属性a对样本集D进行划分所获得的“信息增益”:

Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v})

信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大;

信息增益可取值数目较多的属性值有偏好

所以为了预防增益太大这种情况,我们引入了增益率。

  • 增益率(C4.5)

Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}

IV(a)=-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}log_{2}\frac{\left | D^{v} \right |}{\left | D \right |}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值