0

我已经使用 scikit learn (python) 训练了一个随机森林(在这种情况下为回归器)模型,我想根据使用的估计器的数量在验证集上绘制错误率。换句话说,有一种方法可以仅使用 RandomForestRegressor 中的一部分估算器进行预测吗?

使用 predict(X) 将为您提供基于每棵树结果的平均值的预测。有没有办法限制树木的使用?或者最终,获得森林中每棵树的每一个输出?

4

2 回答 2

2

多亏了 cohoz,我才知道该怎么做。我写了几个 def,结果证明在测试集上绘制随机森林回归器的学习曲线时很方便。

## Error metric
import numpy as np
def rmse(train,test):
    return np.sqrt(np.mean(pow(test - train+,2)))

## Print test set error
## Input the RandomForestRegressor, test set feature and test set known values
def rfErrCurve(rf_model,test_X,test_y):
    p = []
    for i,tree in enumerate(rf_model.estimators_):
                p.insert(i,tree.predict(test_X))
                print rmse(np.mean(p,axis=0),test_y)
于 2013-04-10T23:54:25.823 回答
1

训练后,您可以通过随机森林对象的“estimators_”属性访问这些。

于 2013-04-09T02:44:05.140 回答