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