目录
3.B类数据合成Synthetic Data Generation
4.代价敏感学习Cost Sensitive Learning
一。决策树的过拟合
决策树对训练属于有很好的分类能力,但对 未知的测试数据未必有好的分类能力,泛化 能力弱,即可能发生过拟合现象。
解决方法:
1.剪枝
2.随机森林
二。剪枝
三种决策树的剪枝过程算法相同,区别仅是 对于当前树的评价标准不同。信息增益、信息增益率、基尼系数
1.剪枝总体思路:
由完全树T0开始,剪枝部分结点得到T1,再次剪枝部分结点得到T2...直到仅剩树根的树Tk;在验证数据集上对这k个树分别评价,选择损失函数最小的树Tα
2.剪枝系数的确定
3.剪枝算法
对于给定的决策树T0:
计算所有内部节点的剪枝系数;
查找最小剪枝系数的结点,剪枝得决策树Tk ; 重复以上步骤,直到决策树Tk只有1个结点;得到决策树序列T0T1T2...TK ;
使用验证样本集选择最优子树。
使用验证集做最优子树的标准,可以使用评价函数:
三。Bootstraping
Bootstraping的名称来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助 法,它是一种有放回的抽样方法。
Bagging的策略
bootstrap aggregation
从样本集中重采样(有重复的)选出n个样本;在所有属性上,对这n个样本建立分类器 (ID3、C4.5、CART、SVM、Logistic回归等)
重复以上两步m次,即获得了m个分类器
将数据放在这m个分类器上,最后根据这m个分类器的投票结果,决定数据属于哪一类
四。OOB数据
可以发现,Bootstrap每次约有36.79%的样本 不会出现在Bootstrap所采集的样本集合中, 将未参与模型训练的数据称为袋外数据 OOB(Out Of Bag)。它可以用于取代测试集 用于误差估计。
Breiman以经验性实例的形式证明袋外数据误差 估计与同训练集一样大小的测试集精度相同;
得到的模型参数是无偏估计。
五。随机森林
随机森林在bagging基础上做了修改。
1.从样本集中用Bootstrap采样选出n个样本;
2.从所有属性中随机选择k个属性,选择最佳分割属性作为节点建立CART决策树;
3.重复以上两步m次,即建立了m棵CART决策树
4.这m个CART形成随机森林,通过投票表决结果,决定数据属于哪一类
六。随机森林/Bagging和决策树的关系
当然可以使用决策树作为基本分类器
但也可以使用SVM、Logistic回归等其他分 类器,习惯上,这些分类器组成的“总分类 器”,仍然叫做随机森林。
举例
回归问题
七。样本不均衡的常用处理方法
假定样本数目A类比B类多,且严重不平衡:
1.A类欠采样Undersampling
随机欠采样
A类分成若干子类,分别与B类进入ML模型
基于聚类的A类分割
2.B类过采样Oversampling
避免欠采样造成的信息丢失
3.B类数据合成Synthetic Data Generation
随机插值得到新样本
SMOTE(Synthetic Minority Over-sampling Technique)
4.代价敏感学习Cost Sensitive Learning
降低A类权值,提高B类权值
八。使用RF(随机森林)建立计算样本间相似度
原理:若两样本同时出现在相同叶结点的次数越多,则二者越相似。
算法过程:
1.记样本个数为N,初始化N×N的零矩阵S,S[i,j]表示样本i和样本j的相似度。
2.对于m颗决策树形成的随机森林,遍历所有决策树的所有叶子结点:
记该叶结点包含的样本为sample[1,2,...,k],则S[i][j]累加1。
样本i、j∈sample[1,2,...k]
样本i、j出现在相同叶结点的次数增加1次。
3.遍历结束,则S为样本间相似度矩阵。
九。使用随机森林计算特征重要度
随机森林是常用的衡量特征重要性的方法。
计算正例经过的结点,使用经过结点的数目、 经过结点的gini系数和等指标。或者,随机替换一列数据,重新建立决策树,计算新模型的正确率变化,从而考虑这一列特征的重要性。
十。使用随机森林进行异常检测
随机选择特征、随机选择分割点,生成一定 深度的决策树iTree,若干颗iTree组成iForest
计算iTree中样本x从根到叶子的长度f(x)。
计算iForest中f(x)的总和F(x)
异常检测:若样本x为异常值,它应在大多数iTree中很快从根到达叶子,即F(x)较小。
十一。总结
决策树/随机森林的代码清晰、逻辑简单,在胜任 分类问题的同时,往往也可以作为对数据分布探索的首要尝试算法。
随机森林的集成思想也可用在其他分类器的设计中。
如果通过随机森林做样本的异常值检测?
统计样本间位于相同决策树的叶结点的个数,形成样本 相似度矩阵。
如果正负样本数量差别很大,如何处理?
在得到新决策树后,对样本的权值进行合理 的调整——分类正确的则降低权值,分类错误的则增大权值