有看过很多次的决策树算法,但是每次都是很容易忘记怎么去计算各种算法的度量值,再看一遍书,再归纳一遍
ID3,是求最大信息增益
对于样本D,类别数为K,数据集D的熵为
Ck是样本集D中属于第k类的样本子集,|Ck|表示该子集的元素个数,|D|表示样本集合的元素个数
然后计算某个特征A对于数据集D的经验条件熵H(D|A)为
Di表示D中特征A 取第i个值的样本子集,Dik表示Di中属于第k类的样本子集
信息增益为两者之差
g(D,A)=H(D)-H(D|A)
C4.5 求最大信息增益率
特征A对于数据集D的信息增益比定义为
其中
称为数据集D关于A的取值熵,可以根据这个式子求出数据集关于每个特征的取值熵
最后可以根据信息增益比
CART 求最大基尼指数
Gini描述的是纯度,与信息熵含义类似
CART在每一次迭代中选择基尼指数最小的特征以及其对应的切分点进行分类,但和C4.5和ID3不同的是,CART是一颗二叉树,采用二元切割法,每一步将数据按特征A的取值切成两份,分别进入左右子树。特征A的Gini指数定义为