多输出线性回归模型的访问权重/系数

时间:2019-09-16 16:49:31

标签: python machine-learning scikit-learn

我训练了线性回归模型以多输出方式进行预测。这是一个时间序列预测问题,它基于一组输入来估计未来12个月的需求。过去-如果我只是预测一个输出值-我将简单地调用以下命令来访问模型的beta系数:

model = LinearRegression()
model.fit(X, Y)
weights = pd.DataFrame(regression.coef_, X.columns, columns=['Coefficients'])
print(weights)

但是,当我为 multioutput 模型运行它时,出现错误:

'MultiOutputRegressor' object has no attribute 'coef_'

如何获取多输出线性模型的系数?

1 个答案:

答案 0 :(得分:2)

由于它是MultiOutputRegressor对象,所以每个估计量都有其自己的coef_。您可以通过访问属性 estimators _

来获取用于预测的估算器列表。
m_lr=MultiOutputRegressor(LinearRegression())
m_lr.fit(X, Y)
...
for estimator in m_lr.estimators_:
    weights = pd.DataFrame(estimator.coef_, X.columns, columns=['Coefficients'])