数据挖掘经典算法之:C4.5算法

一.C4.5算法

C4.5算法是对ID3算法的一种改进,所以,首先我们来看ID3算法。

ID3算法是在决策树各个结点上应用信息增益准则来选择特征,递归地构建决策树。

决策树:是一种基本的分类与回归方法,一种分类决策模型,是一种树形结构,该模型具有可读性,分类速度快的优点。决策树由结点(内部结点、叶结点)和有向边组成。内部结点表示特征或属性,叶结点表示类或结论。决策树如下图所示:其中圆点表示特征/属性(内部结点),框框表示类/结论(叶结点),——>箭头表示条件。

数据挖掘经典算法之:C4.5算法

决策树实质上是从给定的训练数据中归纳出一组分类规则,由训练数据集估计条件概率模型的一种学习模型。该学习模型用损失函数来表示这一目标,损失函数通常是正则化的极大似然函数。

信息增益:特征A对训练数据集D的信息增益g(D,A),定义的为集合D的经验嫡H(D)与特征A 给定条件下D的经验条件嫡H(D|A)之间的差。即:g(D,A)=H(D)-H(D|A)。

H(D)表示对数据集D进行分类的不确定性,H(D|A)表示特征A给定的条件下对数据集进行分类的不确定性,所以他们的差,即信息增益就表示了由于特征A而是的对数据集D的分类不确定性减少的程度了。显然,信息增益越大的特征越具有更强的分类能力。

经验嫡概率:数据挖掘经典算法之:C4.5算法

条件经验嫡概率:数据挖掘经典算法之:C4.5算法

现在假设训数据集为D,其中数据挖掘经典算法之:C4.5算法,其中,数据挖掘经典算法之:C4.5算法为输入实例(特征向量),n为特征个数,数据挖掘经典算法之:C4.5算法为类标记,即标记每个实例,i=1,2,...,N,N为样本容量。

|D|为训练集的样本容量,即样本的个数(N)。现假设有K个类数据挖掘经典算法之:C4.5算法,k=1,2,....,K,|数据挖掘经典算法之:C4.5算法|为属于类数据挖掘经典算法之:C4.5算法的样本个数,数据挖掘经典算法之:C4.5算法。设特征A有n个不同的取值{a1,1a2,.....an},根据特征A的取值将D划分为n个子集数据挖掘经典算法之:C4.5算法

|数据挖掘经典算法之:C4.5算法|为 数据挖掘经典算法之:C4.5算法的样本个数,数据挖掘经典算法之:C4.5算法。记子集数据挖掘经典算法之:C4.5算法中属于类数据挖掘经典算法之:C4.5算法的样本集合为数据挖掘经典算法之:C4.5算法,|数据挖掘经典算法之:C4.5算法|为数据挖掘经典算法之:C4.5算法的样本个数。

一.1信息增益公式:

输入:训练数据集D和特征A;

输出:特征A对数据训练集D的信息增益g(D,A)。

(1)计算数据集D的经验嫡H(D)

数据挖掘经典算法之:C4.5算法

(2)计算特征A对数据集D的经验条件嫡H(D|A)

数据挖掘经典算法之:C4.5算法

(3)计算信息增益

数据挖掘经典算法之:C4.5算法

一.2ID3算法:

该算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归的构建决策树。具体方法为:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立的子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的

输入:训练数据集D,特征集A,阈值数据挖掘经典算法之:C4.5算法

输出:决策树T。

(1)若D中所有实例属于同一类数据挖掘经典算法之:C4.5算法,,则T为单结点数,并将类数据挖掘经典算法之:C4.5算法作为该结点的类标记,返回T;

(2)若A=Ø,则T为单结点数,并将D中实例最大的类数据挖掘经典算法之:C4.5算法作为结点的类标记,返回T;

(3)否则,一.1中的信息增益计算方法来计算A中各特征对D的信息增益,选择信息增益最大的特征数据挖掘经典算法之:C4.5算法

(4)如果数据挖掘经典算法之:C4.5算法的信息增益小于阈值e,则置T为单结点树,并将D中实例数最大的类数据挖掘经典算法之:C4.5算法作为该结点的类标记,返回T;

(5)否则,对数据挖掘经典算法之:C4.5算法的每一个可能值数据挖掘经典算法之:C4.5算法,依数据挖掘经典算法之:C4.5算法=数据挖掘经典算法之:C4.5算法将D分割为若干非空子集数据挖掘经典算法之:C4.5算法,将数据挖掘经典算法之:C4.5算法中实例数最大的类作为标记,构建子结点,由结点及其子结点构成树T,返回T;

(6)对第i个子结点,以数据挖掘经典算法之:C4.5算法为训练集,以A-{数据挖掘经典算法之:C4.5算法}为特征集,递归的调用步骤(1)~(5)得到子树数据挖掘经典算法之:C4.5算法,返回数据挖掘经典算法之:C4.5算法

一.3信息增益比公式:

以信息增益比作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题,使用信息增益比可以对这一问题进行校正。这是特征选择的另一准则。

特征A对训练数据集D的信息增益比数据挖掘经典算法之:C4.5算法(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的值的嫡数据挖掘经典算法之:C4.5算法(D)之比,即

数据挖掘经典算法之:C4.5算法

 

一.4C4.5算法:

C4.5算法是ID3算法的改进,其中C4.5算法再生成的过程中对,用信息增益比来选择特征。

输入:训练数据集D,特征A,阈值e;

输出:决策树T。

(1)如果D中所有实例属于同一类数据挖掘经典算法之:C4.5算法,,则T为单结点数,并将类数据挖掘经典算法之:C4.5算法作为该结点的类标记,返回T;

(2)如果A=Ø,则T为单结点数,并将D中实例最大的类数据挖掘经典算法之:C4.5算法作为结点的类,返回T;

(3)否则,按一.3中的信息增益比的计算方法来计算A中各特征对D的信息增益比,选择信息增益比最大的特征数据挖掘经典算法之:C4.5算法

(4)如果数据挖掘经典算法之:C4.5算法的信息增益比小于阈值e,则置T为单结点树,并将D中实例数最大的类数据挖掘经典算法之:C4.5算法作为该结点的类,返回T;

(5)否则,对数据挖掘经典算法之:C4.5算法的每一个可能值数据挖掘经典算法之:C4.5算法,依数据挖掘经典算法之:C4.5算法=数据挖掘经典算法之:C4.5算法将D分割为若干非空子集数据挖掘经典算法之:C4.5算法,将数据挖掘经典算法之:C4.5算法中实例数最大的类作为标记,构建子结点,由结点及其子结点构成树T,返回T;

(6)对第i个子结点,以数据挖掘经典算法之:C4.5算法为训练集,以A-{数据挖掘经典算法之:C4.5算法}为特征集,递归的调用步骤(1)~(5)得到子树数据挖掘经典算法之:C4.5算法,返回数据挖掘经典算法之:C4.5算法