决策树
信息增益
信息熵
"为什么信息熵要定义成-Σp*log(p)?"
按照属性a进行分类,分类之后,每一类会存在一个信息熵,而每一类在整体样本中会占有比例,这样就形成按照属性a分类之后,获得的信息熵,H(A);H(A)于原有未分类时的信息熵H(E),是不同的,因此就会在存在信息差异。它们之间的信息差异值,就是信息增益;
而我们需要计算能产生最大信息增益的属性;
信息增益率
一个属性,能够产生的分类项越多时,信息增益肯定是会越大;
而在处理实际问题时,信息增益不是越大越好,特别在机器学习中,这涉及到一个不可泛化问题。
为了解决这样的矛盾,C4.5采用信息增益率来进行最优划分属性的选择;CART决策树,使用“基尼指数”;
信息增益率,实际上考虑了,采用属性进行划分,获得可选取值分类的数量;数量增大时,会更多的抵消信息增益值;
而获取分类的数量,在进行分类之前,是不确定的,因此需要用另一种方式来对等体现;一般采用“基尼系数”的方式;
在我们进行选择分类时,两次选中不一样分类的概率是p(k)*(1-p(k));……(TODO)
预剪枝
设定一个阈值,熵减小的数量小于这个阈值,即使还可以继续降低熵,也停止继续创建分支。
阀值获取靠经验,没有实际的方向坐标参考,因此实际效果差
后剪枝
根据已经生成的全决策树,对比剪枝前后的验证精度,确定是否剪枝
连续值处理
连续属性离散化
缺失值处理
依据缺失值比例,在整体中的比例,在分类后每个取值中的比例,等来进行处理
多变量决策树
属性进行权重组合来构建决策树;
实际就是:线性分类器+决策树
属性于属性之间的关系看待角度,决定了线性分类还是决策树分类;
可以看作,两个属性通过不同的线性分类组合,构建了一个更大的分类