决策树,包括特征选择,生产树,树的剪枝
分别讲了ID3 C4.5 CART
生成树挑选特征时,每次使用信息增益降低最快的特征,进行分叉。
概率情况下熵描述为,G=-PlogP,简述:
假设训练集D,根据年龄、工作年限确定是否给予贷款,共15个样本,是9个,否6个。
那么训练集的的熵G(D) =-(9/15*log(9/15) + 6/15log(6/15))
如果年龄A小于20的 5个,20-40的5个,大于等于40的5个,熵G(A) =-(5/15*log(5/15) + 5/15log(5/15)+5/15log(5/15))
如果用年龄A 作为特征分叉,信息增益(熵)降低=G(D)-G(A)
信息增益比(差值占原熵的比例)=(G(A)-G(D))/G(D)
ID3是使用信息增益降低值比较,不断生产树,直到全部特征;容易过拟合
C4.5是使用信息增益比参考,档信息增益比值大于某阈值时,才分叉,生产树
剪枝,一般通过极小化决策树整体的损失函数来实现
计算每个树节点的熵,从叶结点开始向上回退,设叶结点回退到他父节点前后整体树为Tb和Ta,对应的损失函数值为C(Tb),C(Ta),如果C(Tb)>=C(Ta),则剪枝。整体树的损失函数看P66,大体是有N个叶结点,每个叶结点上有k类样本,每类样本个数N(k),则 根据G=-PlogP= log(N(k)/N) + aN.....之类
CART 分类回归树
分类是结果有几类,回归是指结果是个数值
CART假定决策树是二叉树,内部节点特征取值都为“是” ,“否”,左分支为“是”, 右分支为“否”,递归的的二分每个特征
回归树用平方误差最小准则,分类树用基尼指数最小化准则,进行特征选择,生产二叉树
基尼指数定义为:假设训练集K个分类,第k类的概率Pk,概率分布的基尼指数为Gini(p) = 所有k类的每类后面之和:Pk(1-Pk),比如A1特征有 1、2、3 三个值。
而Gini(D,)=P Gini()
Gini(A1=1) Gini(A1=2) Gini(A1=3)会计算出3个值,哪个值最小,就可以作为切分点
对于二分类的基尼指数,假设二分类D1、D2,D1的概率p,Gini(D1)=2p(1-p),具体推理看P70