開始使用免費開始

使損失函式最小化

在這個練習中,你會使用 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(____)
編輯並執行程式碼