AttributeError:“ RandomForestRegressor”对象没有属性“ coef_”

时间:2020-09-01 15:40:00

标签: python scikit-learn random-forest

我已经使用Random Forest Regressor解决了回归问题,现在我想绘制回归线,根据this的回答,我正在尝试这样做。

w =  model1.coef_[0]
a = -w[0] / w[1]
xx = np.linspace(-5, 5)
yy = a * xx - (model1.intercept_[0]) / w[1]

plt.plot(xx, yy, 'k-')

其中model1为sklearn.ensemble.RandomForestRegressor的地方已经适合数据集。有哪些替代方案。

错误消息是

AttributeError: 'RandomForestRegressor' object has no attribute 'coef_'

1 个答案:

答案 0 :(得分:1)

当模型适合超平面时,您将拥有coef_intercept_。线性回归就是这样一种模型,它沿着火车数据拟合超平面,从而使偏差/误差最小。这些coef_intercept_代表超平面。

但是,像随机森林这样的模型并不适合超平面,而是根据最终导致预测的输入来识别一组决策。您可以将它们视为一组嵌套的条件(如果有其他条件)。因此,如果您的模型是基于随机森林的,则没有coef_intercept_的概念,但您宁愿做的就是打印决策树。