决策树的思路是这样的,假设有两个属性A,B,分别有两个值0,1,当A=0,B=0时这是个鸡,当A=0,B=1时是鸭,当A=1,B=0时是猫,当A=1,B=1时是狗。现在给了一个未知类别的物体,其属性是A=1,B=1,那么按照先判断A,后判断B的过程,得到如下决策流程:
很简单的一种分类方法吧。
实际上也是这样,最简单的决策树,就是从第一个属性的值开始进行分组,根据值的不同分成了不同子树,接着下一层用第二个属性的值分组,再下一层用第三个,以此类推,直到:
① 这个属性值分出来的子树中只有一个类别了;
② 将所有的属性都已经用完了,即树到了第N层(属性个数N)。
满足上述两个条件之一则为叶子结点,返回。
特别要说明的是条件②,因为再这种情况下可能叶子结点里的数据并不是同一类的,此时选择数量较多的那个类就行了。
这个超简单的决策树就构建完成了,接下来如果输入一个未知类别的物体,那么走完这个决策树就会返回该算法预测的类别。
接下来我们看香农熵下的决策树(也就是书中的决策树)。
上面讲的简单决策树可以看到,选取哪个属性优先分组是我们默认的,