决策树模型很早就出现了,当我们使用一连串的 “if...else...” 语句时,就已经具备了决策树的思想了,不过当真正去构建决策树时,就要考虑哪个先 if、哪个后 if,采用什么样的标准来支持我们选定先 if的属性等,这部分内容在《分类:决策树——树的生长》中已经说明了。早期的决策树算法(如ID3算法)的处理能力有限,只能在特定情形下使用,后来经过不断发展,出现了一些新的算法(如CART),处理能力大大提高,使得决策树模型的应用更加广泛。本文就常见的ID3、C4.5、CART算法做一些记录说明。
1. ID3算法
ID3算法是Quinlan教授在上个世纪70年代提出的,算法引入信息论中熵的概念,并将信息增益作为划分属性的度量,这一做法简洁高效,在当时影响较大。关于信息熵
定义的由来,这里简单的做一下介绍。假设一棵二分类决策树上某一节点包含有个样本,其中正类样本有
,负类样本有
个,(
),则样本的类别组合情况有
种。从样本属性与类别的对应关系上,如何看待
呢?也即是不参考样本的属性值时,我们认为的选定
个样本为正例样本。很显然,在给定
值时,
越小就越表明该结点上样本类别越趋向于单一,结点误分类率越小。下面我们对
做一些分解
(1)
当时,依据
公式,有