开始使用免费开始使用

最小化损失函数

在本练习中,您将使用 scipy.optimize.minimize 从零实现一次线性回归。

我们将使用 Boston 房价数据集来训练模型,数据已加载到变量 Xy 中。为简化起见,我们不会在回归模型中加入截距项。

本练习是课程的一部分

Python 中的线性分类器

查看课程

练习说明

  • 补全最小二乘线性回归的损失函数。
  • 打印使用 sklearn 的 LinearRegression 拟合得到的系数。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# The squared error, summed over training examples
def my_loss(w):
    s = 0
    for i in range(y.size):
        # Get the true and predicted target values for example 'i'
        y_i_true = y[i]
        y_i_pred = w@X[i]
        s = s + (____)**2
    return s

# Returns the w that makes my_loss(w) smallest
w_fit = minimize(my_loss, X[0]).x
print(w_fit)

# Compare with scikit-learn's LinearRegression coefficients
lr = LinearRegression(fit_intercept=False).fit(X,y)
print(____)
编辑并运行代码