我使用Scikit Learn in Python(Random Forest Regressor)训练了一个预测模型,我想以某种方式提取每个功能的权重,以创建一个用于手动预测的excel工具。
我发现的唯一东西是,model.feature_importances_
但无济于事。
有什么办法可以实现?
def performRandomForest(X_train, y_train, X_test, y_test):
'''Perform Random Forest Regression'''
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit( X_train , y_train )
#make predictions
expected = y_test
predicted = model.predict( X_test )
#summarize the fit of the model
mse = np.mean(( predicted - expected )** 2)
accuracy = ( model.score ( X_train , y_train ))
return model, mse, accuracy
目前,我使用model.predict([features])
来做,但是我需要在excel文件中使用。
取平均每片叶子不起作用?我还尝试了线性回归模型,差异在极限之内。因此,如果没有合理有效的方法来导出随机森林,则可能需要回到线性回归。
—
Tasos
谢谢,但是我在LR中知道这种方式。能否请您对一个答案发表评论,以便我将其标记为已回答?
—
Tasos
也许值得一两天不回答,看看别人是否有帮助。数据科学堆栈交换比堆栈溢出小得多,因此有时需要2-3天才能获得良好的见解。
—
AN6U5'1
decision trees
,因此您不会像线性回归那样得到一个方程式。相反,您将获得大量if, then, else
逻辑和许多最终方程式,以将最终叶片转化为数值。即使您可以可视化树并提取所有逻辑,这一切似乎也很混乱。如果您在excel中工作,则可以考虑只使用Azure在excel中训练模型。但是,我可能只是从excel中调用python。