สร้าง LassoCV regressor
โจทย์นี้จะให้ทำนายเส้นรอบวงของกล้ามเนื้อต้นแขน (biceps circumference) จากชุดข้อมูล ANSUR ของเพศชาย โดยใช้ LassoCV() regressor ซึ่งจะปรับค่าความแรงของ regularization (ค่า alpha) โดยอัตโนมัติด้วย Cross-Validation
ข้อมูล training และ test ที่ผ่านการ standardize แล้วถูกโหลดไว้ให้เรียบร้อยในชื่อ X_train, X_test, y_train และ y_test
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การลดมิติข้อมูลใน Python
คำแนะนำการฝึกหัด
- สร้างและ fit โมเดล LassoCV บนชุดข้อมูล training
- คำนวณค่า \(R^2\) บนชุดข้อมูลทดสอบ
- สร้าง mask สำหรับ coefficient ที่มีค่าไม่เท่ากับศูนย์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.linear_model import LassoCV
# Create and fit the LassoCV model on the training set
lcv = ____
lcv.____
print(f'Optimal alpha = {lcv.alpha_:.3f}')
# Calculate R squared on the test set
r_squared = lcv.____
print(f'The model explains {r_squared:.1%} of the test set variance')
# Create a mask for coefficients not equal to zero
lcv_mask = ____
print(f'{sum(lcv_mask)} features out of {len(lcv_mask)} selected')