算法原理
逻辑角度:一堆if else语句的组合;
几何角度:根据某种准则划分特征空间;
最终目的:将样本越分越纯。
划分选择
不同的划分准则对应不同的决策树算法。
ID3决策树
信息熵:度量随机变量X的不确定性,“信息熵”越大越不确定.
.
当X的某个取值概率为1时,H(X)=0;当X各个取值概率均等时,,|X|表示可能取值的个数。
假定当前样本集合D中第k类样本所占的比例为(k = 1,2,…,|y|),则D 的信息熵定义为,
在这里,“信息熵”所代表的随机变量X的“不确定性”可以理解为集合D的“纯度”。Ent(D)越小,集合D的纯度越高。
条件熵:类比“条件概率”,“条件熵”是已知X后Y的不确定性,即Y的信息熵关于概率分布X的期望,
假定属性a有V个可能的取值,属性a为的样本的集合记为,为样本数。则条件熵表示为,.
信息增益:已知属性a的取值后y的不确定性的减少量,即纯度的提升量,
划分点的选择:对于每个属性a及每个可能取值,将集合D划分为a<和a>=两部分来计算信息增益值,选择基尼指数最小的属性及其对应取值作为划分属性和划分点。
用信息增益来进行决策树的划分属性选择,这就是ID3决策树学习算法。
但信息增益对可能取值数目较多的属性有所偏好。
C4.5决策树
增益率:,其中,.
由于增益率准则对可取值数目较少的属性有所偏好,C4.5算法使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
CART决策树
基尼值:从数据集D中随机抽取两个样本,其类别标记不一致的概率。基尼值越小,集合D的纯度越高。
基尼指数:基尼值和基尼指数的关系可以类比于信息熵和条件熵。
.
划分点的选择:对于每个属性a的每个可能取值,将数据集D划分为a=和a两部分来计算基尼指数。选择基尼指数最小的属性及其对应取值作为划分属性和划分点。
CART决策树算法用基尼指数来选择划分属性。