การปรับ Hyperparameter ด้วย GridSearchCV
หลังจากที่ได้เรียนรู้วิธีทำ grid search hyperparameter tuning แล้ว คราวนี้จะได้สร้างโมเดล lasso regression ที่มี hyperparameter ที่เหมาะสมที่สุด เพื่อทำนายระดับน้ำตาลในเลือดโดยใช้ฟีเจอร์ในชุดข้อมูล diabetes_df
X_train, X_test, y_train, และ y_test ถูกโหลดไว้ให้แล้ว รวมถึงออบเจ็กต์ KFold() ที่เก็บไว้ในตัวแปร kf และโมเดล lasso regression ในตัวแปร lasso
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ด้วย scikit-learn
คำแนะนำการฝึกหัด
- นำเข้า
GridSearchCV - กำหนด parameter grid สำหรับ
"alpha"โดยใช้np.linspace()เพื่อสร้างค่า 20 ค่าที่เว้นระยะเท่ากัน ตั้งแต่0.00001ถึง1 - เรียกใช้
GridSearchCV()โดยส่งlasso, parameter grid และกำหนดcvให้เท่ากับkf - Fit ออบเจ็กต์ grid search กับข้อมูล training เพื่อทำ cross-validated grid search
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import GridSearchCV
____
# Set up the parameter grid
param_grid = {"____": np.linspace(____, ____, ____)}
# Instantiate lasso_cv
lasso_cv = ____(____, ____, cv=____)
# Fit to the training data
____
print("Tuned lasso paramaters: {}".format(lasso_cv.best_params_))
print("Tuned lasso score: {}".format(lasso_cv.best_score_))