决策树分类算法-ID3算法原理

ID3基本策略:

1)树根代表训练样本的单个节点的开始;

(2)如果样本都在同一个类中,则这个节点称为树叶节点并标记为该类别。

(3)否则算法使用信息熵(信息增益)作为启发知识来帮助选择合适的将样本分类的属性,以便将样本集划分为若干子集,该属性就是相应节点的“测试”或“判定”属性,同时所有属性应当是离散值。

(4)对测试属性的每个已知的离散值创建一个分支,并据此划分样本。

(5)算法使用类似的方法,递归的形成每个划分上的样本决策树,一个属性一旦出现在某个节点上,那么它就不能再出现在该节点之后所产生的子树节点中;

(6)整个递归过程在下列条件之一成立时停止。

a)给定节点的所有样本属于同一类

b)没有剩余属性可以用来进一步划分样本这时候该节点作为树叶,并用剩余样本中出现最多的类型作为叶子节点的类型。

c)某一分枝没有样本,在这种情况下以训练样本集中占多数的类创建一个树叶。

备注:ID3算法的核心:在决策树各级节点上选择属性时,用信息增益作为属性的选择标准,使得在每一个非节点进行测试时,能获得关于被测记录最大的类别信息。

信息增益是一种衡量哪些问题将提供最为平衡的划分的函数。

 设S是训练样本集,它包含n个类别样本,这些类别分别用C1,C2,…,Cn表示,那么S的熵(entropy)或者期望信息为:

                                                                 

信息增益用来衡量熵的期望减少值,因此,使用属性A对S进行划分获得的信息增益为:

                                                            gain(S,A)= entropy(S)-entropy(S,A)

优点:算法的理论清晰,方法简单,学习能力较强。

缺点:

(1)信息增益的计算依赖特征数目较多的特征,而属性取值最多的属性并不一定最优。

(2)ID3是非递增算法

(3)ID3是单变量决策树(在分支节点上只考虑单个属性),许多复杂概念的表达困难,属性相互关系强度不够,容易导致决策树中子树的重复或有些属性在决策树的某一路径上被检验多次。

(4)抗噪性差,训练例子中正例和反例的比例较难控制。

你可能感兴趣的:(数据挖掘)