【发布时间】:2015-11-14 16:58:24
【问题描述】:
我正在尝试在 sklearn 中为随机森林回归模型实现 R 的特征重要性评分方法;根据 R 的文档:
第一个度量是根据置换 OOB 数据计算得出的:对于每棵树, 记录数据袋外部分的预测误差 (分类的错误率,回归的 MSE)。那么同样是 在排列每个预测变量后完成。和...之间的不同 然后将两者在所有树上平均,并由 差异的标准差。如果标准差为 对于变量,差异等于 0,除法未完成 (但在这种情况下,平均值几乎总是等于 0)。
因此,如果我理解正确,我需要能够为每棵树中的 OOB 样本置换每个预测变量(特征)。
我知道我可以通过这样的方式访问训练有素的森林中的每棵树
numberTrees = 100
clf = RandomForestRegressor(n_estimators=numberTrees)
clf.fit(X,Y)
for tree in clf.estimators_:
do something
是否有获取每棵树的 OOB 样本列表?也许我可以使用每棵树的random_state 来推导出 OOB 样本列表?
【问题讨论】:
标签: python r scikit-learn regression random-forest