决策树算法
分类回归树(CART,Classification And Regression Tree)
ID3算法
C4.5算法
CHi-squared Automatic Interaction Detector (CHAID). 在生成树的过程中用多层分裂.[7]
MARS:可以更好的处理数值型数据。
使用决策树作为预测模型来预测样本的类标。这种决策树也称作分类树或回归树。
数据以如下方式表示:
其中Y是目标值,向量x由这些属性构成, x1, x2, x3 等等,用来得到目标值。
1、图片来自周志华《机器学习》第4章
决策树基于信息熵进行划分,书上划分的原则是:选择划分以后信息增益最大的属性进行划分,信息增益的计算方式可以描述为:
$D - \sum_{i=1}^jD_i * \frac{c_i}{c}$
其中,信息熵越小越好,信息增益越大越好。根据信息增益的公式可以得出,同一样本的DD 是一样的,所以 $- \sum_{i=1}^jD_i * \frac{c_i}{c}$ 越小,结果越好。因此我偷了个懒,通过最小化$- \sum_{i=1}^jD_i * \frac{c_i}{c}$ 来达到最大化信息增益的作用。其中,DiDi表示按照当前属性划分后,第 ii 类的信息熵,cici 表示第 ii 类的样本数量,cc 表示样本总数量。例如,需要计算西瓜数据集根据“花纹”这一属性的划分结果,而“花纹”属性有清晰、稍糊、模糊3个类别,则信息增益是划分前的信息熵减去划分后三个子类别信息熵的加权平均值。
信息熵的计算方式可以描述为:划分后某一分支中,正样本和负样本所占比的加权之和:
$-\sum_{i=1}^j p_i * log_2p_i$
算法核心流程:
S1】 样本中所有的节点类型相同
S2】 所有节点属性相同
S3】 找到最佳划分属性
S4】 递归创建子树
参考资料: