【问题标题】:Linear Regression Using Numpy使用 Numpy 进行线性回归
【发布时间】:2018-02-03 14:05:44
【问题描述】:

我在使用 Numpy 执行线性回归时遇到了用于计算模型斜率“m”和截距“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 表示计算 a 的均值 (xy)-均值 (x)*均值 (y)/分母。代码状态(x dot y)-均值(y)*总和(x)/分母在哪里?为什么?

谢谢

【问题讨论】:

  • 使用简化版的等式尝试在分子和分母中加入术语 1/N.. 你会自己回答:) 注意 X.mean() 是相当于 X.sum() * 1/N

标签: python numpy machine-learning linear-regression


【解决方案1】:

这只是a方程的数学运算。在这里您可以找到从简化版本到代码中使用的步骤:

b 所需的操作非常相似。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2016-07-21
    • 2018-07-31
    • 2023-03-05
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多