ID3:归纳决策树(Induction Decision Tree Version 3)
ID3算法一种由数据构造递归的的过程。选择一个属性作为根节点,按照其他属性将数据集分类,每一个子节点得到一个数据集。对这种划分的质量进行评估,递归执行该过程,直至全部节点不能再进行划分。某节点不能划分的条件有2:一个是节点具有单类,二是节点具有单一属性。
质量评估的标准为:
①信息增益:根节点的信息值,与分裂子节点后各节点平均信息值的差
②信息增益率:信息增益有一个弊端,当例如ID码这种对分类结果没有任何用处,但是信息增益极大的属性,仅靠信息增益判断是不行的。
信息增益率 = 信息增益 / 节点的固有信息值(不考虑类,仅凭信息量)
虽然ID的信息增益率仍是最高的,但是他的优势已经大大减小了。在实际生产中,会相应处理掉ID码这种无用的属性。
以上是我认为ID3算法的应该注意的几个地方,下面着重分析weka的源码。