使損失函式最小化
在這個練習中,你會使用 scipy.optimize.minimize 從零開始實作線性迴歸。
我們將在 Boston 房價資料集上訓練模型,資料已載入到變數 X 和 y。為了簡化,我們不在迴歸模型中加入截距項。
本練習屬於課程
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(____)