我使用scikit learn(python)训练了一个随机森林(在这种情况下为回归量)模型,我想根据所用估算器的数字在验证集上绘制错误率。换句话说,有一种方法可以预测只使用RandomForestRegressor中的一部分估算器吗?
使用predict(X)将根据每个树结果的平均值给出预测。有一种方法可以限制树木的使用吗?或者最终,为森林中的每棵树获取每个单独的输出?
答案 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_”属性访问这些文件。