如何从Python Scikit-learn中的随机森林中的每棵树输出回归预测?

chu*_*nky 12 python regression random-forest scikit-learn

我是scikit-learn和随机森林回归的新手,并且想知道除了组合预测之外,是否有一种简单的方法可以从随机森林中的每棵树中获得预测.我想在列表中输出所有预测而不是查看整个树.我知道我可以使用apply方法获取叶子索引,但我不知道如何使用它来从叶子中获取值.任何帮助表示赞赏.

编辑:以下是我迄今为止的评论.之前我不清楚是否可以调用estimators_属性中的树,但似乎可以使用该属性在每个树上使用预测方法.这是最好的方法吗?

numberTrees = 100
clf = RandomForestRegressor(n_estimators=numberTrees)
clf.fit(X,Y)
for tree in range(numberTrees):
    print(clf.estimators_[tree].predict(val.irow(1)))
Run Code Online (Sandbox Code Playgroud)

Rya*_*axe -1

我不是 100% 确定你到底想要什么,但是Scikit-learns 随机森林回归器中还有其他一些方法很可能会返回你想要的,特别是预测方法!此方法返回预测值的数组。您所指的获取平均值是得分方法,它只是使用该predict方法返回 R 平方行列式的系数。