高级算法(1)——随机森林

写在前面:
由于想在暑期实习之前多学点东西,所以贪心基本上把Datawhale感兴趣的班都给报了,导致现在压力贼大,所以本文很多复杂公式就用图片代替了,另外也没有真正打代码,等后期课程轻松一点以后再把代码那部分补上。集成学习这一块我之前也稍微总结过,所以这一块也不全是按照群里给的框架写的,请见谅。

一.集成学习

1.定义:

对于训练集,同时训练若干个个体学习器,在通过一定的结合策略然后形成一个强学习器。即若干个基学习器 + 结合策略 = 强学习器

2.作用:

不同的模型通常会在测试集上产生不同的误差,如果成员的误差是相互独立的,则集成模型的效果会成员模型好。

3.基学习器

(1)特点:

  • 决策树的表达能力和泛化能力可通过剪枝快速调整
  • 决策树可以方便的将样本的权重整合到训练过程中(也就是Boosting)
  • 决策树是一种不稳定的学习器,即模型容易受数据样本的影响(bagging此时能起作用)
  • 基学习器有什么特点?基学习器有什么要求?为什么用决策树来做基学习器?这三个问题的答案都是这个,挺常问的。
  • 一般改变权重(即处理机器学习中的不平衡分类问题)都是通过重采样,欠采样和过采样等方法

(2)其他适合的基学习器: 神经网络

4. 两类集成学习

4.1 Boosting

(1)首先从训练集中用初始权重训练一个弱学习器,根据学习误差率表现来更新样本的权重,让学习误差率高的样本权重变高(即重点关注班里的差生,让全班的平均成绩提高),然后调整权重后的训练集在训练一个弱学习器2,如此不断重复,直到弱学习器达到事先指定的数目T结束,最终将T个学习器通过集合策略(一般是加权整合)得到最终结果。
(2)boosting算法是基学习器之间串行生成的,代表算法是 AdaBoost 和 GBDT 两种。

4.2 Bagging

(1)对训练集经过 T 次随机采样得到T个采样集,对于T个采样集独立的训练出 T 个弱学习器,在对 T 个弱学习器通过集合策略得到最终强学习器
.(2)bagging 是基学习器之间并行生成的,代表算法就是随机森林
(3)自助采样法:Bootstrap sampling
对于 m 个样本的训练集,有放回的取样本放入采样集中重复 m 次(即采样集的样本数也是 m 个),则样本在 m 次采样中始终没有被采样的概率为0.368,故每次自助采样只能得到全部样本的63%,即训练每个基学习器时只用了一部分样本。

5.结合策略

(1)平均分(算术平均/加权平均)
(2)投票法
(3)Stacking法:
从初训练器集训练出 T 个不同的初级学习器,将每个初级学习器的输出构建一个次级数据集,该数据集仍然采用初始数据集的标签,根据新的数据集训练次级学习器,进而得到最终预测结果。
为了降低过拟合的风险,一般利用交叉验证的方法使不同的初级学习器在不完全相同的子集上训练。

二. 随机森林

1. 思想

随机森林利用随机的方式将许多决策树组合成一个森林,当有一个新的输入样本进入的时候,让森林中的每一棵决策树分别进行一下判断。对于分类问题,按多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果。

2.构建过程

  • 从原始训练集中使用Bootstraping随机有放回采样选出m个样本,共进行n_tree次采样,生成n_tree个训练集;
  • 对于n_tree个训练集,我们分别训练n_tree个决策树模型;
  • 对于单个决策树模型,假设训练样本特征的个数为n,那么每次分裂时根据信息增益/信息增益比/基尼指数选择最好的特征进行分裂;
  • 每棵树都一直这样分裂下去,直到该节点的所有训练样例都属于同一类。在决策树的分裂过程中不需要剪枝;
  • 将生成的多棵决策树组成随机森林。

3.推广

Extra Tree 是RF的变种,原理与RF几乎一样,但还是有些不同。
在这里插入图片描述

4.优缺点

(1)优点:

  • 训练可以并行化,计算开销小,能够高效地对大数据集进行训练;
  • 实现简单、准确率高;
  • 能够评估各个特征在分类问题上的重要性;
  • 能够处理高维特征的输入样本,且不需要降维操作;
  • 对部分特征的缺失不敏感;
  • 能够取到内部生成误差的一种无偏估计,不需要交叉验证或者用一个独立的测试集获得误差的无偏估计;
  • 由于存在随机抽样,训练出来的模型方差小,泛化能力强。

(2) 缺点:

  • 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合.
  • 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的.

5.应用场景

集成学习可以应用到金融领域的风险控制中,从互联网行为、APP、运营商等途径获取特征维度,比如信贷历史记录、消费能力、社会信用等特征,在通过boosting、bagging等算法进行训练预测,可以进行预测是否存在反欺诈、违约概率大小、风险定价等问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python的随机森林插值算法是一种用于处理GIS数据的插值方法。随机森林是一种集合学习方法,可以用于分类和回归。它将多个决策树组合在一起,每棵树的参数都不相同,然后将每棵树的预测结果取平均值,这样既能保留决策树的效果,又可以降低过拟合的风险。随机森林算法可以通过使用Python中的scikit-learn库来实现。 要了解更多关于随机森林算法的细节,可以查看scikit-learn官方文档提供的链接:。在该链接中,您可以找到随机森林算法的具体用法、参数设置和示例代码等信息。 使用Python随机森林插值算法进行GIS数据处理可以带来很多优点。首先,随机森林算法可以自动处理缺失值和异常值,使得数据处理更加稳健。其次,随机森林算法可以进行特征选择,排除无关特征,提高了模型的准确性。另外,随机森林算法在处理高维数据时也表现出色。最后,随机森林算法可以通过调整参数来达到更好的性能。 因此,基于Python的随机森林插值算法是一种强大的工具,可以用于处理GIS数据,并取得较好的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python与GIS数据处理——随机森林算法插值](https://blog.csdn.net/yuanzhoulvpi/article/details/123171224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [算法笔记(9)-随机森林算法及Python代码实现](https://blog.csdn.net/li1873997/article/details/124782603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值