原理:
由某种原则(信息熵或是基尼系数)来确定决策条件先后顺序,进而通过这一系列条件来实现对数据进行分类。
优点:
- 简单直观,生成的决策树很直观
- 基本不需要预处理,不需要提前归一化,处理缺失值
- 使用决策树预测的代价是O(
)。m为样本数
- 既可以处理离散值也可以处理连续值
- 可以处理多维度输出的分类问题
- 相比于神经网络之类的黑盒分类模型,在逻辑上可以得到很好的解释
- 可以通过交叉验证的剪枝来选择模型,从而提高泛化能力
- 对于异常点的容错能力好,健壮性高
缺点:
- 非常容易过拟合,导致泛华能力不强。可以通过设置节点最少样本数和限制决策树深度来改进
- 会因为样本发生一点点的改动,导致树结构的剧烈改变。可以通过集成学习之类的方法来解决
- 容易陷入局部最优,可以通过集成学习之类的方法来改善
- 有些比较复杂的关系,比如异或,决策树很难学习,一般这种关系可以换神经网络分类方法来解决
- 如果某些特征的样本比例过大,生成决策树容易偏向于这些特征,可以通过调节样本权重来改善
三种决策树算法:
熵:
联合熵:
条件熵: