python中的多元线性回归

时间:2017-04-03 15:23:38

标签: python scikit-learn

我在XY矩阵中安排了如下数据集,如下所示: enter image description here

我想找到一个2*2矩阵Ay_i=A x_i代表所有i=1,...,n。所以我在python中使用以下代码进行线性回归:

import numpy as np
import matplotlib.pyplot as plt
import sklearn
from sklearn import datasets, linear_model

#n=5
X=np.random.uniform(0,1,(2,5))
A=np.random.uniform(0,1,(2,2))
y=np.dot(A,X)
print(y)

# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
model=regr.fit(X, y)
#model.predict(X)
model.coef_

但是我的model.coef_命令正在打印5*5矩阵,而不是2*2矩阵,我想要A。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

将模型拟合到样本和结果的转置上 - 第二个维度将用于创建模型 - 以获得2x2数组:

model=regr.fit(X.T, y.T)
# test
np.testing.assert_allclose(y.T, model.predict(X.T))