การถดถอยเชิงเส้นแบบ Regularized

การลดมิติข้อมูลใน Python

Jeroen Boeye

Head of Machine Learning, Faktion

แนวคิดโมเดลเชิงเส้น

ฟีเจอร์สู่เป้าหมาย

การลดมิติข้อมูลใน Python

สร้างชุดข้อมูลของเราเอง

x1 x2 x3
1.76 -0.37 -0.60
0.40 -0.24 -1.12
0.98 1.10 0.77
... ... ...
การลดมิติข้อมูลใน Python

สร้างชุดข้อมูลของเราเอง

x1 x2 x3
1.76 -0.37 -0.60
0.40 -0.24 -1.12
0.98 1.10 0.77
... ... ...

การกระจายของ 3 ฟีเจอร์

การลดมิติข้อมูลใน Python

สร้างชุดข้อมูลของเราเอง

การกระจายของ 3 ฟีเจอร์

สร้างฟีเจอร์เป้าหมายของเราเอง:

$y = 20 + 5x_1 + 2x_2 + 0x_3 + error$

การลดมิติข้อมูลใน Python

การถดถอยเชิงเส้นใน Python

from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)

# Actual coefficients = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
# Actual intercept = 20
print(lr.intercept_)
19.8
การลดมิติข้อมูลใน Python

การถดถอยเชิงเส้นใน Python

# Calculates R-squared
print(lr.score(X_test, y_test))
0.976
การลดมิติข้อมูลใน Python

การถดถอยเชิงเส้นใน Python

from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)

# Actual coefficients = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
การลดมิติข้อมูลใน Python

ฟังก์ชันความสูญเสีย: Mean Squared Error

ค่าพยากรณ์เทียบกับค่าจริง

การลดมิติข้อมูลใน Python

ฟังก์ชันความสูญเสีย: Mean Squared Error

ค่าพยากรณ์เทียบกับค่าจริงพร้อม MSE

การลดมิติข้อมูลใน Python

การเพิ่ม Regularization

ค่าพยากรณ์เทียบกับค่าจริงพร้อม MSE และสูตร

การลดมิติข้อมูลใน Python

การเพิ่ม Regularization

ค่าพยากรณ์เทียบกับค่าจริงพร้อม MSE สูตร และคำอธิบาย

การลดมิติข้อมูลใน Python

การเพิ่ม Regularization

ค่าพยากรณ์เทียบกับค่าจริงพร้อม MSE สูตร และ alpha

การลดมิติข้อมูลใน Python

Lasso Regressor

from sklearn.linear_model import Lasso

la = Lasso()
la.fit(X_train, y_train)

# Actual coefficients = [5 2 0]
print(la.coef_)
[4.07 0.59 0.  ]
print(la.score(X_test, y_test))
0.861
การลดมิติข้อมูลใน Python

Lasso Regressor

from sklearn.linear_model import Lasso

la = Lasso(alpha=0.05)
la.fit(X_train, y_train)

# Actual coefficients = [5 2 0]
print(la.coef_)
[ 4.91  1.76 0.  ]
print(la.score(X_test, y_test))
0.974
การลดมิติข้อมูลใน Python

มาฝึกกันเถอะ!

การลดมิติข้อมูลใน Python

Preparing Video For Download...