我训练了线性回归模型以多输出方式进行预测。这是一个时间序列预测问题,它基于一组输入来估计未来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_'
如何获取多输出线性模型的系数?
答案 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'])