4年前开始学习机器学习,选择了最简单的决策树入门,在面试中却常常回答不好,还是太轻视它了。此次再此总结一下。
本文是关键点笔记,不涉及推导
决策树构建原理:1.选择划分属性值2.构建,并停止3.剪枝
1.划分 delta=I(present)-sum(Nvj/N*I(vj)) 如果信息保留最多,划分最好
选择基本公式:
gini=1-sum(pi的平方)
Entropy=-plogp
error = 1-max{pi|i=1...n}
ID3 多元分类树,使用E计算delta 划分
C4.5 多元分类树,使用E计算delta/I(present)划分
CART 二元分类回归树,离散label使用gini系数,连续label使用方差划分
2.停止条件:层数 剩余特征数 不一样的样本个数 delta已经很小了
3.剪枝:
PEP 剪后误判个数变少
MEP 剪后误差变小
CCP 剪后代价变小
损失函数 c(T)=sum(NtHt(T))+a|T| =sum(Nt*sum(pi*logpi)) + a|T| =sum(Nt*sum(pi*logpi)+a)
表示各个节点的信息量*个数的和
c(t) <= c(T) 剪枝后误差小于等于剪前误差,剪枝
关键问题是确定a
假设每个叶子都可以剪,令C(t)=