随机森林 - 使用较少的估算器预测

时间:2013-04-08 01:28:46

标签: python limit scikit-learn prediction random-forest

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

使用predict(X)将根据每个树结果的平均值给出预测。有一种方法可以限制树木的使用吗?或者最终,为森林中的每棵树获取每个单独的输出?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

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