决策树ID3、C4.5概述

余生长醉 提交于 2020-01-14 01:47:56
1.获取数据集
2.从数据集中找到最优的切分特征(离散变量)/最优切分特征和最优切分特征值(连续变量)
    ID3算法:信息熵/条件熵/信息增益
       选择决断特征时选择信息增益最大的
       信息熵:[衡量信息的复杂度]
           H(D) = -∑[P(i)log(p(i))]:
               p(i)-->第i个类别出现的概率
       条件熵:[在X给定的情况下,D的条件分布的熵对X的期望]
           H(D|X) = ∑[p(j)H(D|X = x(j))]
               X-->某个特征
               x(j)-->特征值
               H(D|X = x(j))-->数据D中特征X的特征值等于x(j)时D中相关数据的信息熵
               p(j)-->特征X的特征值等于x(j)的概率
       信息增益(特征X的信息增益):[在得知特征X的条件下,使得数据D不确定性减少的程度]
           Gain(D,X) = H(D) - H(D|X)
           备注:
               信息增益是针对一个一个的特征而言的,就是看数据有他和无他时的信息熵
           各是多少,两者差值就是该特征给系统带来的的信息增益

    C4.5算法:以信息增益进行分类决策是,存在偏向取值较多的特征的问题,
             为了解决这个问题,开发了基于信息增益比的分类决策算法,也就是说C4.5
             备注:
                 a.C4.5与ID3都是利用贪心算法进行求解
                 b.选取决断特征时选择信息增益比最大的
                 c.分裂信息度量SplitInformatioon(D,X):
                 备注:
                     1)SplitInformation(D,X) = -∑[p(xi)log(p(xi))]
                     2)p(xi)-->X取特征值为xi的概率
                     3)就相当于特征X的熵(X取各个特征值条件概率分布的熵)
                 d.GainRatio(D,X) = Gain(D,X) / SplitInformation(D,X)
                 e.ID3中用信息增益选择属性时偏向于选择分支较多的属性值,即取值多的属性,
                 C4.5由于除以了SplitInformation(D,X) = H(X),可以削弱这种作用

    连续数据处理:
             a.对属性的取值进行排序
             b.两个属性值之间的中点作为可能的分裂点,将数据集分成两部分,计算每个可能的分
               裂点的信息增益
             c.对每个分裂点的信息增益进行修正: 减去log(2(N-1))/|D|
               备注:
                   数据集中同时出现连续属性和离散属性时,原始的C4.5算法倾向选择连续的
               属性[特征]作为分裂属性[特征].因此连续属性的信息增益需要减去log(2(N-1))/|D|
               作为修正,其中N为可能的分裂点的个数,|D|是数据集大小
             d.选择修正后信息增益最大的分裂点作为该属性[特征]的最佳分裂点
               备注:
                   选择最佳分裂点不用信息增益率,而是用信息增益,然后最大的信息增益对应
               的Gain Ratio作为属性[特征]的Gain Ratio
             e.计算最佳分裂点的信息增益率作为属性的Gain Ratio
             f.选择Gain Ratio最大的属性[特征]作为分裂属性[特征]

       叶子裁剪:
             Pre-Pruning[预剪枝]:根据一些原则及早的停止树的生长
               a.树的深度达到用户所要的深度
               b.节点中样本数少于用户指定的个数,停止树的生长,并将该节点变为叶子结点
               c.不纯度下降的最小幅度小于用户指定的幅度等
             Post-Pruning[后剪枝]:通过在完全生长的树上减去分支实现,通过删除节点的分支
                                 来减去树节点
               a.代价复杂性剪枝
               b.最小误差剪枝
               c.悲观误差剪枝
                 备注:
                     后剪枝操作是一个边修剪边检验的过程,一般规则标准是:在决策树的不断
                 剪枝操作过程中,将原样本集合或新数据集合作为测试数据,检验决策树对测试
                 数据的预测精度,并计算出相应的错误率,如果减掉某个子树后的决策树对预测
                 精度或 其他测度不降低,那么剪掉该子树

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!