决策树和随机森林-理论补充2

文章探讨了决策树过拟合的问题及其解决方案,包括剪枝和随机森林方法。介绍了剪枝的总体思路、系数确定及算法。随机森林作为Bagging的改进,通过Bootstrap采样和特征选择减少过拟合。同时,文章讨论了处理样本不均衡的策略,如欠采样、过采样和代价敏感学习,并阐述了如何利用随机森林计算样本相似度和特征重要性,以及进行异常检测。
摘要由CSDN通过智能技术生成

目录

一。决策树的过拟合

        1.剪枝

        2.随机森林

二。剪枝

1.剪枝总体思路:

2.剪枝系数的确定

 3.剪枝算法

三。Bootstraping

四。OOB数据

五。随机森林

六。随机森林/Bagging和决策树的关系

七。样本不均衡的常用处理方法

        1.A类欠采样Undersampling

        2.B类过采样Oversampling

        3.B类数据合成Synthetic Data Generation

        4.代价敏感学习Cost Sensitive Learning

八。使用RF(随机森林)建立计算样本间相似度

九。使用随机森林计算特征重要度

十。使用随机森林进行异常检测

十一。总结

十二。决策树用于拟合

十三。多输出的决策树回归


一。决策树的过拟合

决策树对训练属于有很好的分类能力,但对 未知的测试数据未必有好的分类能力,泛化 能力弱,即可能发生过拟合现象。

解决方法:

        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)较小。

十一。总结

决策树/随机森林的代码清晰、逻辑简单,在胜任 分类问题的同时,往往也可以作为对数据分布探索的首要尝试算法。

随机森林的集成思想也可用在其他分类器的设计中。

如果通过随机森林做样本的异常值检测?

        统计样本间位于相同决策树的叶结点的个数,形成样本 相似度矩阵。

如果正负样本数量差别很大,如何处理?

        在得到新决策树后,对样本的权值进行合理 的调整——分类正确的则降低权值,分类错误的则增大权值

十二。决策树用于拟合

十三。多输出的决策树回归

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PURE-li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值