เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้าง 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')
แก้ไขและรันโค้ด