多元线性回归正态方程不起作用

时间:2019-03-13 01:21:53

标签: regression linear

enter image description here

这是我使用的方程式。 我尝试实现法线方程以仅使用1个自变量进行回归,并且效果很好。得出正确的系数。

但是,当我尝试使用多个自变量时,它得出了错误的系数。我没有更改代码中的任何内容。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

#Importing the dataset:
dataset = pd.read_csv("50_Startups.csv")
x = dataset.iloc[:, :3].values
y = dataset.iloc[:, -1].values

#Fitting the model with the library:
regressor = LinearRegression()
regressor.fit(x, y)
print(regressor.intercept_, regressor.coef_)



#Fitting the model with the normal equation:

#Putting a column filled with ones' for the intercept
x_1 = np.full((len(x), 1), 1)
x_mat = x.copy()
x_mat = np.concatenate((x_1, x_mat), axis=1)

#Implementing the function
step1 = np.linalg.inv(np.dot(x_mat.T, x_mat))
step2 = np.dot(step1, x_mat.T)
step3 = np.dot(step2, y)
print(step3)

输出:

50122.19298986523 [ 0.80571505 -0.02681597  0.02722806]
[ 5.01221930e+04  8.05715050e-01 -2.68159684e-02  2.72280648e-02]
       ^              ^               ^                ^
   Intercept          X1              X2               X3

有人可以帮我弄清楚为什么没有得到相同的输出吗?

谢谢。

0 个答案:

没有答案