Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RF、GBDT、XGboost特征选择方法「建议收藏」

RF、GBDT、XGboost特征选择方法「建议收藏」

作者头像
全栈程序员站长
发布于 2022-07-25 11:18:44
发布于 2022-07-25 11:18:44
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

RF、GBDT、XGboost都可以做特征选择,属于特征选择中的嵌入式方法。比如在sklearn中,可以用属性feature_importances_去查看特征的重要度, 比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from sklearn import ensemble
#grd = ensemble.GradientBoostingClassifier(n_estimators=30)
grd = ensemble.RandomForestClassifier(n_estimators=30)
grd.fit(X_train,y_train)
grd.feature_importances_

但是这三个分类器是如何计算出特征的重要度呢?下面来分别的说明一下。

1. 随机森林(Random Forest)

用袋外数据 (OOB) 做预测。随机森林在每次重抽样建立决策树时,都会有一些样本没有被选中,那么就可以用这些样本去做交叉验证,这也是随机森林的优点之一。它可以不用做交叉验证,直接用oob _score_去对模型性能进行评估。

具体的方法就是:

1. 对于每一棵决策树,用OOB 计算袋外数据误差,记为 errOOB1;

2. 然后随机对OOB所有样本的特征i加入噪声干扰,再次计算袋外数据误差,记为errOOB2;

3. 假设有N棵树,特征i的重要性为sum(errOOB2-errOOB1)/N;

如果加入随机噪声后,袋外数据准确率大幅下降,说明这个特征对预测结果有很大的影响,进而说明它的重要程度比较高

2. 梯度提升树(GBDT)

主要是通过计算特征i在单棵树中重要度的平均值,计算公式如下:

其中,M是树的数量。特征i在单棵树的重要度主要是通过计算按这个特征i分裂之后损失的减少值

其中,L是叶子节点的数量,L-1就是非叶子结点的数量。

3. XGboost

XGboost是通过该特征每棵树中分裂次数的和去计算的,比如这个特征在第一棵树分裂1次,第二棵树2次……,那么这个特征的得分就是(1+2+…)。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127541.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用随机森林评估特征重要性原理与应用
来源:机器学习研习院本文约2000字,建议阅读8分钟本文对随机森林如何用在特征选择上做一个简单的介绍。 随机森林是以决策树为基学习器的集成学习算法。随机森林非常简单,易于实现,计算开销也很小,更令人惊奇的是它在分类和回归上表现出了十分惊人的性能,因此,随机森林也被誉为“代表集成学习技术水平的方法”。 一、随机森林RF简介 只要了解决策树的算法,那么随机森林是相当容易理解的。随机森林的算法可以用如下几个步骤概括: 用有抽样放回的方法(bootstrap)从样本集中选取n个样本作为一个训练集。 用抽样得到的
数据派THU
2022/09/14
2.5K0
利用随机森林评估特征重要性原理与应用
集成算法 | 随机森林分类模型
随机森林是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器。
数据STUDIO
2021/06/24
1.2K0
【机器学习】--- 决策树与随机森林
决策树和随机森林是机器学习中的经典算法,因其易于理解和使用广泛而备受关注。尽管如此,随着数据集规模和复杂性增加,这些算法的性能可能会遇到瓶颈。因此,研究决策树与随机森林的改进成为了机器学习领域的一个热点话题。本博客将详细探讨决策树与随机森林的基本原理、其存在的问题以及如何通过多种改进方法提升其性能。
凯子坚持C
2024/09/23
1500
【机器学习】第二部分下:决策树回归
年龄:1-青年,2-中年,3-老年 学历:1-本科,2-硕士,3-博士 经历:1-出道,2-一般,3-老手,4-骨灰 性别:1-男性,2-女性
杨丝儿
2022/02/17
8890
【机器学习】第二部分下:决策树回归
面试、笔试题集:集成学习,树模型,Random Forests,GBDT,XGBoost
分类和回归树(简称 CART)是 Leo Breiman 引入的术语,指用来解决分类或回归预测建模问题的决策树算法。它常使用 scikit 生成并实现决策树: sklearn.tree.DecisionTreeClassifier 和 sklearn.tree.DecisionTreeRegressor 分别构建分类和回归树。
流川疯
2022/05/10
9990
面试、笔试题集:集成学习,树模型,Random Forests,GBDT,XGBoost
[机器学习算法]随机森林
从统计学的角度来讲,将模型的性能寄希望于单棵决策树是不稳健的,这意味着它在处理未知数据时预测结果的方差是较大的。如同我们做重要决定时会考虑多个专家的意见,元算法meta-algorithm主张综合多个分类器的结果做预测,元算法也被称为集成方法ensemble method,主要思路包括:
TOMOCAT
2020/06/09
1.3K0
[机器学习算法]随机森林
原理+代码,总结了 11 种回归模型
本文所用数据说明:所有模型使用数据为股市数据,与线性回归模型中的数据一样,可以做参考,此处将不重复给出。
数据STUDIO
2021/06/24
4.7K0
《Scikit-Learn与TensorFlow机器学习实用指南》 第07章 集成学习和随机森林
假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要好。这就叫做群体智慧。同样的,如果你合并了一组分类器的预测(像分类或者回归),你也会得到一个比单一分类器更好的预测结果。这一组分类器就叫做集成;因此,这个技术就叫做集成学习,一个集成学习算法就叫做集成方法。
SeanCheney
2018/09/19
7000
《Scikit-Learn与TensorFlow机器学习实用指南》 第07章 集成学习和随机森林
一文弄懂随机森林的原理和应用
随机森林是一种集成学习算法,属于Bagging类型,通过组合多个决策树的预测结果得出最终的预测结果。
阿黎逸阳
2023/12/04
8.2K0
一文弄懂随机森林的原理和应用
深入理解GBDT回归算法
Boosting、Bagging和Stacking是集成学习(Ensemble Learning)的三种主要方法。Boosting是一族可将弱学习器提升为强学习器的算法,不同于Bagging、Stacking方法,Boosting训练过程为串联方式,弱学习器的训练是有顺序的,每个弱学习器都会在前一个学习器的基础上进行学习,最终综合所有学习器的预测值产生最终的预测结果。
OpenCV学堂
2019/10/30
2.7K0
深入理解GBDT回归算法
从决策树到GBDT梯度提升决策树和XGBoost
决策树可以转换成if-then规则的集合,也可以看作是定义在特征空间划分类的条件概率分布。决策树学习算法包括三部分:特征选择,数的生成和数的剪枝。最大优点: 可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够进行学习。显然,属于有监督学习。 常用有一下三种算法:
大鹅
2021/06/15
1.2K0
从决策树到GBDT梯度提升决策树和XGBoost
《Scikit-Learn与TensorFlow机器学习实用指南》第7章 集成学习和随机森林
第7章 集成学习与随机森林 来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻译项目 译者:@friedhelm739 校对:@飞龙 假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要好。这就叫做群体智慧。同样的,如果你合并了一组分类器的预测(像分类或者回归),你也会得到一个比单一分类器更好的预测结果。这一组分类器就叫做集成;因此,这个技术就叫做集成学习,一个集成学习算法就叫做集成方法。 例如,你可
ApacheCN_飞龙
2018/05/16
1.4K0
【Scikit-Learn 中文文档】集成方法 - 监督学习 - 用户指南 | ApacheCN
1.11. 集成方法 注意,在本文中 bagging 和 boosting 为了更好的保留原文意图,不进行翻译estimator->估计器 base estimator->基估计器 集成方法 的目标是把使用给定学习算法构建的多个基估计器的预测结果结合起来,从而获得比单个估计器更好的泛化能力/鲁棒性。 集成方法通常分为两种: 平均方法,该方法的原理是构建多个独立的估计器,然后取它们的预测结果的平均。一般来说组合之后的估计器是会比单个估计器要好的,因为它的方差减小了。 示例: Bagging
片刻
2018/01/15
2.1K0
【Scikit-Learn 中文文档】集成方法 - 监督学习 - 用户指南 | ApacheCN
特征选择的几种方法[通俗易懂]
  使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。使用feature_selection库的VarianceThreshold类来选择特征的代码如下:
全栈程序员站长
2022/07/23
5.7K0
特征选择的几种方法[通俗易懂]
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
决策树是一种简单直观的机器学习算法,它广泛应用于分类和回归问题中。它的核心思想是将复杂的决策过程分解成一系列简单的决策,通过不断地将数据集分割成更小的子集来进行预测。本文将带你详细了解决策树系列算法的定义、原理、构建方法、剪枝与优化技术,以及它的优缺点。
算法金
2024/06/25
5800
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
RF(随机森林)、GBDT、XGBoost面试级整理
由于本文是基于面试整理,因此不会过多的关注公式和推导,如果希望详细了解算法内容,敬请期待后文。   RF、GBDT和XGBoost都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性。   根据个体学习器的生成方式,目前的集成学习方法大致分为两大类:即个体学习器之间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表就是Boosting,后者的代表是Bagg
机器学习AI算法工程
2018/03/15
6.2K0
机器学习-12-sklearn案例02-集成学习
集成算法会考虑多个评估器的建模结果,汇总之后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。 sklearn中的集成算法模块ensemble
用户2225445
2024/05/26
1480
机器学习-12-sklearn案例02-集成学习
GBDT原理及利用GBDT构造新的特征-Python实现
Gradient Boosting是一种Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数是评价模型性能(一般为拟合程度+正则项),认为损失函数越小,性能越好。而让损失函数持续下降,就能使得模型不断改性提升性能,其最好的方法就是使损失函数沿着梯度方向下降(讲道理梯度方向上下降最快)。
百川AI
2021/10/19
8000
机器学习7:集成学习--XGBoost
对于XGBoost算法原理看陈天奇的PPT和一份算法实战指导文档就够了(文末附网盘链接)。
用户5473628
2019/08/08
1.5K0
机器学习7:集成学习--XGBoost
总结了九种机器学习集成分类算法(原理+代码)
集成算法(Emseble Learning) 是构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。
数据STUDIO
2021/08/13
5.7K0
推荐阅读
相关推荐
利用随机森林评估特征重要性原理与应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验