决策树 C4.5 理解要点

决策树的主要过程首先用根节点代表一个给定的数据集;然后从根节点开始(包括根节点)在每个节点上选择一个属性,使结点数据集划分(一棵树分裂为几棵树)为更小的子集(子树);直到使用某个属性,其子集中所有样本都属于一个类别,才停止分裂。

这里面需要注意的是如何寻找分裂点,C4.5区别于ID3算法之一在于分裂点选择信息增益率最大的方式。 为什么选择信息增益率而不是信息增益?因为如果仅仅用信息增益,则一个属性具有较多不同值往往容易有较大的信息增益,因此比较容易成为分裂点特征。举个例子比如客户ID,这个特征几乎每行都有不同值,如果将其作为分裂点显然会有overfit的问题

C4.5是可以支持特征是离散变量或者连续变量,

对于离散变量A,如果选择属性A划分数据集S, 其在S上的信息熵计算为

 

 对于连续型数据A,则按属性A的取值递增排序,将每对相邻值的中点看作可能的分裂点,对每个可能的分裂点,计算:

 

最后计算信息增益率,选择增益率最大的节点作为分裂点,信息增益率将分裂信息作为分母,属性取值数目越大,分裂信息值越大,从而部分抵消了属性取值数目所带来的影响

 

 

  

 

posted on 2017-02-03 13:44  蓝调生活  阅读(1278)  评论(0编辑  收藏  举报

导航