การลดค่า loss function ให้เหลือน้อยที่สุด
ในแบบฝึกหัดนี้ คุณจะสร้าง linear regression "จากศูนย์" โดยใช้ scipy.optimize.minimize
เราจะฝึกโมเดลบนชุดข้อมูลราคาบ้านในบอสตัน ซึ่งโหลดไว้แล้วในตัวแปร X และ y เพื่อความเรียบง่าย โมเดลนี้จะไม่รวม intercept
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Linear Classifiers ใน Python
คำแนะนำการฝึกหัด
- กำหนด loss function สำหรับ least squares linear regression
- แสดงค่าสัมประสิทธิ์ที่ได้จากการ fit
LinearRegressionของ sklearn
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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(____)