为什么id3和c4.5采用多叉树而cart采用二叉树?
ID3 和 C4.5 采用的多叉树虽然在对训练样本集的学习中可以尽可能多地挖掘信息,但是其生成的决策树分支、规模都比较大,训练特别慢,CART 算法的二分法可以简化决策树的规模,提高生成决策树的效率。
决策树优点
可解释性
训练和测试快
特征类型
数值特征:离散特征和连续特征。连续特征的划分只能划分为二叉形式(二分法),离散特征的划分可以划分为二叉(=)或多叉(> <)
类别特征:取值不为数值,类别很少时,用one-hot,但是类别很多时(比如身份证),用one-hot会导致切分的子树及其不平衡,统计信息不准确,划分没意义,增益几乎为0。lightgbm对类别特征支持比较好。
剪枝方法
先剪枝
1 最大高度
2 叶子节点最小样本数
3 叶子节点属于同一类
4 增益最小阈值
5 所有特征都已经用于分割
缺点:它是基于“贪心”策略,会带来欠拟合风险。先剪枝有可能会过早停止决策树的生长,而继续生成有可能模型效果更好。
后剪枝
优缺点:后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。但同时其训练时间会大的多。
由完全成长的树剪去子树而形成。通过删除节点的分枝并用树叶来替换它。树叶一般用子树中最频繁的类别来标记。可以在训练集(悲观剪枝)或测试集或交叉验证集上来剪枝过后准确率有所提升,则进行剪枝。 相比于预剪枝,后剪枝方法通常