目录
一、决策树的概念
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
分类树(决策树)是一种十分常用的分类方法。它是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。
二、决策树的基本流程
第1步;数据准备:通过数据清洗和数据处理,将数据被理为没有缺省值的向量,第2步:寻找最佳特征:遍历每个特征的每一种划分方式,找到最好的划分特征。第3步:生成分支:划分成两个或多个节点。第4步:生成决策树:对分裂后的节点分别继续执行2-3步,直到每个节点只有一种类别。第5步:决策分类:根据训练决策树模型,将预测数据进行分类。
三、特征信息的选择
1.信息增益(ID3)
1.“信息熵”是度量样本集合纯度最常用的一种指标,假定当前样本集合D中第k类样本所占的比例为 pk (K=1, 2, ..., |y|),则D的信息熵定义为
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进行划分所获得的“信息增益”:
信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大;
信息增益对可取值数目较多的属性值有偏好;
所以为了预防增益太大这种情况,我们引入了增益率。
2.增益率(C4.5)
其中IV(a)称为属性a的“固有值”,属性a的可能取值数目越多(即V越大),则IV(a)的值通常就越大;
增益率准则对可取值数目较少的属性有所偏好;
3.基尼指数(CART)
由于信息增益和增益率中用了对数log,不方便计算,所以引入基尼指数
定义:分类问题中,假设D有K个类,样本点属于第k类的概率为p_k,则概率分布的基尼值定义为:
Gini(D)越小,数据集D的纯度越高;
给定数据集D,属性a的基尼指数定义为:
在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最有划分属性。
4.剪枝处理
4.1.剪枝概念
决策树剪枝是指在已经构建好的决策树上进行修剪操作。
4.2.剪枝目的
“剪枝”是决策树学习算法对付“过拟合”的主要手段;
可通过“剪枝”来一定程度避免因决策分支过多,以致于把训练集自身的一些特点当做所有数据都具有的一般性质而导致的过拟合;
减少时间、空间复杂度
减少过拟合,提高算法泛化能力(跨场景能力好一些)
4.3.剪枝方法
预剪枝(Pre-pruning)
基本方法:
通过提前停止树的构建而对树剪枝
当决策树达到预设的高度时就停止决策树的生长
达到某个节点的实例集具有相同的特征向量(属性取值相同),即使这些实例不属于同一类,也可以停止决策树的生长。
定义一个阈值,当达到某个节点的实例个数小于阈值时就可以停止决策树的生长。
通过计算每次扩张对系统性能的增益,决定是否停止决策树的生长。
决策树剪枝有两种方法:预剪枝和后剪枝。预剪枝是在决策树生成过程中进行剪枝,而后剪枝是在决策树生成完成后再进行剪枝。
决策树剪枝的优缺点如下:
优点:
- 可以避免过拟合,提高模型的泛化能力。
- 可以减少决策树的复杂度,提高算法的效率。
- 可以提高模型的可解释性,使得决策树更易于理解和解释。
缺点:
- 剪枝过度可能会导致欠拟合,使得模型的预测能力下降。
- 剪枝需要对数据集进行多次划分和测试,计算量较大。
- 剪枝需要选择合适的剪枝参数,如果选择不当可能会影响模型的性能。
5.随机森林分类器
1.概念:随机森林(Random Forest)是一种集成学习方法,用于进行分类和回归任务。它是由多个决策树构成的模型,利用了集成学习的思想,通过对多个决策树的结果进行综合来做出最终的预测。适用于样本相对少的情况。
2.实现方法:
数据集的随机抽样:从原始数据集中随机选择一定数量的样本进行有放回抽样,形成多个不同的训练子集。这样可以保证每个子集都具有一定的随机性,且可能包含重复的样本。
决策树的构建:对每个训练子集,独立地构建一个决策树。构建过程中,采用递归分裂的方式,选择最佳的划分属性和划分点。通常,每个决策树的最大深度会限制在一个较小的值,以防止过拟合。
随机特征选择:在每次节点划分时,随机从所有的特征中选择一部分特征进行评估。这样可以增加每个决策树之间的差异性,提高集成模型的多样性。
决策结果的组合:对于分类问题,随机森林采用投票表决的方式,将每个决策树的分类结果进行统计,选择得票最多的类别作为最终的预测结果。对于回归问题,随机森林通过平均每个决策树的输出值来得到最终的预测值。
四、总结
决策树是分类问题中最常用的模型之一,它的优势在于能够接受类别型的特征,分类效果与其他分类算法相当,训练和测试的效率高。决策树学习通常包括三个步骤:特征选择、决策树的生成和决策树的修剪。决策树由中间节点和叶子节点构成,中间节点包含决策函数用于决策的特征,叶子节点包含决策结果和类别标签。决策树学习算法通常采用启发式方法来建立次优决策树。在决策树的生成过程中,需要进行特征选择,常用的特征选择方法有信息增益、信息增益比和基尼指数。在决策树的修剪过程中,需要进行剪枝,常用的剪枝方法有预剪枝和后剪枝。