1.决策树算法
决策树(decision tree):
决策树类似于流程图的一个树形结构,如图1。其中每个内部结点表示在一个属性上的测试,每个分支代表一个属性的输出,每个叶子结点代表类或者类的分布。树的最顶层是根结点。一个决策树如图1所示
图1 决策树示例
该示例是一个通过室外的天气情况决定是否进行室外运动的决策树,方框内代表有多少个实例属于对应的分类,这里有9个属于play,有5个属于don't play,一共有14个实例。图中的outlook表示预测的天气,作为该决策树的根结点,根结点下面有三个分支,分别是sunny(晴天)、overcast(多云)、rain(雨天)三种天气情况。如果是sunny(晴天),属于play的个数是2,属于don't play的个数是3;(overcast)多云的话,属于paly的个数是4,属于don't play的个数是0,同样如果是rain(雨天)的话,属于play的个数是3,属于don't play的个数是2。在sunny(晴天)结点下还分出了一个分支humidity(湿度),这里将湿度这个连续值作了一个离散处理,取一个阈值(这里取70),将这个连续值分为两个部分;同样在rain下有一个分支windy(是否有风),用true和false来作为分支的条件。
1.1 构造决策树的基本算法
下面用一个数据集来简单说明构造决策树的基本算法过程。如图2
图2 是否购买电脑的数据集
这个数据集是关于顾客在电脑城里面是否购买电脑的信息,有age