MLR-计算袋装,增强树的特征重要性(XGBoost)

时间:2020-07-06 15:30:45

标签: r machine-learning xgboost feature-selection mlr

早上好

我对在R中使用MLR包计算袋装提升回归树模型的功能重要性有疑问。我正在使用XGBOOST进行预测,而我正在使用套袋以估计预测不确定性。我的数据集比较大;约有1万个特征和观测值。预测效果很好(请参见下面的代码),但是我似乎无法计算出特征的重要性(下面代码的最后一行)。重要性函数崩溃,没有错误...并冻结了R会话。我看到了一些相关的python代码,人们似乎在计算每个袋装模型herehere的重要性。我也无法使它在R中正常工作。具体来说,我不确定如何在MLR(以下代码中的 mb 对象)产生的对象内访问单个模型。在python中,这似乎是微不足道的。在R中,我似乎无法提取ImageList,这在逻辑上似乎与我需要的最接近。所以我想知道是否有人对此问题有任何经验?

请参见下面的代码

mb$learner.model

1 个答案:

答案 0 :(得分:0)

如果设置L=[] I=5 def change_var(i,l): i=10 l.append(12) print('Inside function I',i) print('Inside function L',l) global I I=i return i,l change_var(I,L) print('Outside function I',I) print('Outside function L',L) ,则可以对特征重要性值取平均值。 基本上,您只需要应用bw.feats = 1中存储的所有单个模型。需要额外的注意,因为虽然采样设置使功能的顺序混乱,但我们将其设置为100%。

HomogeneousEnsembleModel