首页 文章

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

提问于
浏览
0

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

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

2 回答

  • 1

    感谢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)
    
  • 2

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

相关问题