ID3算法

ID3算法(Iterative Dichotomiser 3 迭代二叉树3代)是一个由Ross Quinlan发明的用于决策树算法

这个算法是建立在奥卡姆剃刀的基础上:越是小型的决策树越优于大的决策树(简单理论)。尽管如此,该算法也不是总是生成最小的树形结构。而是一个启发式算法。奥卡姆剃刀阐述了一个信息熵的概念:

I E ( i ) = j = 1 m f ( i , j ) log 2 f ( i , j ) . {\displaystyle I_{E}(i)=-\sum _{j=1}^{m}f(i,j)\log _{2}f(i,j).}

这个ID3算法可以归纳为以下几点:

  1. 使用所有没有使用的属性并计算与之相关的样本熵值
  2. 选取其中熵值最小的属性
  3. 生成包含该属性的节点

关于ID3算法的实现可以参考C4.5算法,它同时也是ID3的升级版。

相关主题

参考文献

  • Mitchell, Tom M. Machine Learning. McGraw-Hill, 1997.

外部链接

  • Seminars - http://www2.cs.uregina.ca/(页面存档备份,存于互联网档案馆
  • Description and examples - http://www.cise.ufl.edu/(页面存档备份,存于互联网档案馆
  • Description and examples - http://www.cis.temple.edu/(页面存档备份,存于互联网档案馆
  • An implementation of ID3 in Python(页面存档备份,存于互联网档案馆
  • An implementation of ID3 in Ruby
  • An implementation of ID3 in Common Lisp
  • Implementation of ID3 algorithm in C# - https://web.archive.org/web/20061109050158/http://www.codeproject.com/cs/algorithms/id3.asp
  • An implementation of ID3 in Perl(页面存档备份,存于互联网档案馆