决策树
理论部分:
一、分类树
决策树是一种用于分类和回归的预测模型,它通过树状结构来表示决策过程。
决策树的优缺点:
- 优点:易于理解和解释,能够处理非线性数据,并且不需要假设数据分布。
- 缺点:容易过拟合和对噪声数据敏感,通过适当的剪枝和交叉验证,可以减少这些问题。
假设数据的所有特征都是二元特征(或二值特征),在创建决策树的时候,我们需要选择一个合适的特征,将数据进行分为两个最佳的部分,如何选择这个合适的特征?
要想选择一个合适的特征,我们需要有一个标准来供我们进行比较。
1. 数据纯度的定义 — — 熵:
P 1 P_1 P1:表一种类别的数据占总数居的比例。
P 0 = 1 − P 1 P_0 = 1 - P_1 P0=1−P1:表示除了 P 1 P_1 P1类别以外的其他数据占总数据的比例。
熵函数: H ( P 1 ) = − P 1 log P 1 − P 0 log P 0 = − P 0 log P 1 − ( 1 − P 1 ) log ( 1 − P 1 ) H(P_1) = -P_1\log{P_1}-P_0\log{P_0} =-P_0\log{P_1} - (1 - P_1)\log{(1- P_1)} H(P1)=−P1logP1−P0logP0=−P0logP1−(1−P1)log(1−P1)
2. 信息增益(ID3)
在决策树中,熵的减少称为信息增益,信息增益越大,熵的值越小,数据的混乱程度越小。
定义:
- P 1 l e f t P_1^{left} P1left:表示分类后左子节点中,正样例占左字节点的比例。
- W l e f t W^{left} Wleft:表示分类后左子节点所有样本占分类前所有样本的比例。
- P 1 r i g h t P_1^{right} P1right:表示分类后右子节点中,正样例占右字节点的比例。
- W r i g h t W^{right} Wright:表示分类后右子节点所有样本占分类前所有样本的比例。
信息增益(Information Gain):= H ( P 1 r o o t ) − ( W l e f t H ( P 1 l e f t + w r i g h t H ( P 1 r i g h t ) ) ) H(P_1^{root}) - (W^{left}H(P_1^{left} + w^{right}H(P_1^{right}))) H(P1root)−(WleftH(P1left+wrightH(P1right)))
3. 其它决策依据
用信息增益来选取特征划分的方法,不适用于存在一个特征的可选值很多的情况。
信息增益率(C4.5)
信息增益率(Information Gain Ratio)是决策树算法中用于选择特征的一种方法,特别是在C4.5算法中。它在信息增益的基础上进一步考虑了特征的分裂能力,以避免选择那些具有许多值的特征,因为这些特征可能会产生许多分支,从而导致过拟合。
信息增益率 = 信息增益 该特征的熵值 信息增益率 = \frac{信息增益}{该特征的熵值} 信息增益率=该特征的熵值信息增益
基尼系数(CART)
基尼系数是一种衡量数据不纯度的指标。在决策树的上下文中,不纯度是指数据集中不同类别(对于分类问题)或不同数值(对于回归问题)的混合程度。基尼系数的值介于0到1之间,值越小表示数据越纯:
- 0:数据完全纯净,即所有样本属于同一类别或具有相同的数值。
- 1:数据完全混合,每个类别或数值的分布都是均匀的。
G i n i ( p ) = 1 − ∑ i = 1 n p i 2 Gini(p) = 1 - \sum_{i = 1}^{n}p_i^2 Gini(p)=1−i=1∑npi2
其中, p i p_i pi是类别 i i i在数据集中的比例。
对于给定的特征A,将其应用于数据集D,得到若干子集 D 1 , D 2 , D 3 , ⋯ , D T D_1, D_2, D_3, \cdots , D_T D1,D2,D3,⋯,DT,然后计算分裂后的基尼系数: