树模型-ID3决策树-撸清算法逻辑
ID3决策树
下图是判断是否外出打高尔夫球的决策树:
算法流程:
- 从集合D中选择最优切分属性A,衡量是否为最优的切分属性,ID3采用的是信息增益准则。
- 按照属性A将集合切分,判断切分后的集合:如果当前节点包含的样本属于同一类别,则无需划分,并将此叶子节点的类别定为此类;当前属性为空,或者所有样本属性集上取值相同,此叶子节点类别为大多数样本类别;当前集合为包含样本为空则直接返回。
- 若2)中的返回条件都不满足,则递归的继续切分集合,直到满足相应的阈值,递归结束。
从上述流程上看,决策树在建立过程中,树的深度不断增加,比较容易过拟合,所以要采用剪枝操作,避免形成过于复杂的决策树。
剪枝操作:
分为两种:预剪枝、后剪枝
预剪枝是指在决策树的生成过程中,对每个节点在划分前先进行评估,若当前的划分不能带来泛化性能的提升,则停止划分,并将当前节点标记为叶节点。
后剪枝是指先从训练集生成一颗完整的决策树,然后自底向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点,能带来泛化性能的提升,则将该子树替换为叶节