模型特征选择

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


   
   
  1. from sklearn import ensemble
  2. #grd = ensemble.GradientBoostingClassifier(n_estimators=30)
  3. grd = ensemble.RandomForestClassifier(n_estimators= 30)
  4. grd.fit(X_train,y_train)
  5. 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+...)。


 




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
特征选择是指从所有可能的特征中选择最有用的特征,以提高机器学习模型的性能和解释能力。在R语言中,有多种方法可以进行特征选择。 一种常用的方法是使用递归特征消除(Recursive Feature Elimination,RFE)。RFE通过构建模型并逐步剔除最不重要的特征来进行特征选择。在R语言中,可以使用rfe函数从caret包中进行RFE特征选择。 另一种方法是使用基于树的特征选择方法,如随机森林(Random Forest)和梯度提升树(Gradient Boosting Tree)。这些方法通过分析特征在模型中的重要性来进行特征选择。在R语言中,可以使用randomForest包和gbm包来进行基于树的特征选择。 此外,还有其他一些常用的特征选择方法,如方差选择、互信息选择和L1正则化选择等。在R语言中,可以使用varianceFilter函数和mutualInformationFilter函数从caret包中进行方差选择和互信息选择。而L1正则化选择可以使用glmnet包中的函数进行。 综上所述,R语言提供了多种特征选择方法,可以根据具体问题的需求选择适合的方法来进行特征选择。<span class="em">1</span> #### 引用[.reference_title] - *1* [泰迪杯B题,利用Adaboost模型对A股市场进行预测.zip](https://download.csdn.net/download/qq_35831906/88245654)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值