决策树从根节点开始走到叶子节点做出决策,其既可以分类又可以回归。
难点:如何从给定的训练集构造出决策树(从根节点开始选择特征,如何使用特征切分样本)
树节点选择顺序的衡量标准-熵
熵:表示随机变量不确定性的度量。
对应公式为:
H(X)=−∑i=1npi∗log(pi)
H\left ( X \right )=-\sum_{i=1}^{n}p_{i}\ast log\left ( p_{i} \right )
H(X)=−i=1∑npi∗log(pi)
其中pip_{i}pi表示为集合中为第iii种类别的概率。
- 注:对于二分类问题,概率为0.5时不确定性是最大的,此时的熵值最高。
选择节点的方法:信息增益,
其表示特征XXX使得类YYY的不确定性减少的程度。(分类后的专一性,使得分类后的结果趋近于同类在一起)
每个特征XXX的信息增益举例:
- 对于是否外出打篮球的二分类问题,如图为根据其中一个特征outlookoutlookoutlook作为第一个树节点分类的结果,其熵的计算方法为:
H(outlook)=p(sunny)∗H(sunny)+p(overcast)∗H(overcast)+p(rainy)∗H(rainy) H\left ( outlook \right )=p(sunny)\ast H(sunny)+p(overcast)\ast H(overcast)+p(rainy)\ast H(rainy) H(outlook)=p(sunny)∗H(sunny)+p(overcast)∗H(overcast)+p(rainy)∗H(rainy)
- 其中ppp为分类前的集合中每种情况出现的比例。
- 之后使用原熵减去该特征分类后的熵,从而得到该特征的信息增益,计算所有特征的信息增益,选取增益最大的特征作为此时的树节点,以此类推。
信息增益法存在的缺陷:(ID3)当某一特征的属性过多,使用该特征的分类的信息增益很大,但按其属性的分类没有意义,这时会造成无用(错误)的特征分类节点。如ID特征(序列号)。
- 解决方法:C4.5:信息增益率(解决ID3的问题,考虑自身熵)
- 其它方法:CART:使用GINI系数作为衡量标准。
*GINI系数:
Gini(p)=∑k=1Kpk(1−pk)=1−∑k=1Kpk2 Gini(p)=\sum_{k=1}^{K}p_{k}(1-p_{k})=1-\sum_{k=1}^{K}p_{k}^{2} Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2
对于连续值的分界点的选择:遍历排序“离散化”,然后“二分”。
决策树剪枝策略
- 剪枝原因:决策树过拟合风险很大,理论上可以完全分开数据。
- 剪枝策略:1.预剪枝(边建立边剪枝,更通用);2.后剪枝(建立完再剪枝)
- 预剪枝:限制深度、叶子节点个数、叶子节点样本数、信息增益量等。
- 后剪枝:Cα(T)=C(T)+α⋅∣Tleaf∣C_{\alpha }(T)=C(T)+\alpha \cdot \left | T_{leaf} \right |Cα(T)=C(T)+α⋅∣Tleaf∣