使用Numpy进行线性回归

时间:2017-08-25 13:44:17

标签: python numpy machine-learning linear-regression

我正在使用Numpy执行线性回归,并遇到了一个用于计算坡度的方程式问题。并拦截' b'对于模型。通过在线课程,老师的实施产生了正确的结果,但不容易理解。我无法理解这个实现。

计算坡度的公式' a'并拦截' b'。

等式的简化版本

现在用于使用numpy函数实现此等式的代码:

denominator = X.dot(X) - X.mean() * X.sum()
a = (X.dot(Y) - Y.mean() * X.sum()) / denominator
b = (Y.mean() * X.dot(X) - X.mean() * X.dot(Y)) / denominator

在此代码的第1行:X.dot(X)计算Sum Squared X但不计算平均值。其中等式表示X ^ 2的平均值。

为什么要将X.mean()* X.sum()乘以计算X的平方均值?

为什么只用X.dot(X)来计算平方X的平均值?

等式2状态平均值(xy)-mean(x)*平均值(y)/分母用于计算a。代码状态(x点y) - 均值(y)* sum(x)/分母?为什么?

谢谢

1 个答案:

答案 0 :(得分:0)

这只是对 a 等式的数学处理。在这里,您可以找到从简化版本到代码中使用的步骤的步骤:

enter image description here

b 所需的操作非常相似。