การแสดงภาพประสิทธิภาพของโมเดล regression
หลังจากได้เรียนรู้วิธีประเมินโมเดลหลายตัวพร้อมกันแล้ว คราวนี้จะสร้างโมเดล regression สามตัวเพื่อทำนายระดับ "energy" ของเพลง
ชุดข้อมูล music_df ได้รับการเพิ่ม dummy variables สำหรับ "genre" เรียบร้อยแล้ว นอกจากนี้ยังได้สร้าง feature array และ target array พร้อมแบ่งเป็น X_train, X_test, y_train และ y_test ไว้ให้แล้ว
ไลบรารีที่ import ไว้ให้ได้แก่: LinearRegression, Ridge, Lasso, cross_val_score และ KFold
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ด้วย scikit-learn
คำแนะนำการฝึกหัด
- เขียน for loop โดยใช้
modelเป็น iterator และmodel.values()เป็น iterable - ทำ cross-validation บน training features และ training target array โดยใช้โมเดลนั้น และกำหนด
cvให้เท่ากับ objectKFold - เพิ่มคะแนน cross-validation ของโมเดลลงในลิสต์ results
- สร้าง box plot แสดงผลลัพธ์ โดยกำหนด label แกน x เป็นชื่อของแต่ละโมเดล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
models = {"Linear Regression": LinearRegression(), "Ridge": Ridge(alpha=0.1), "Lasso": Lasso(alpha=0.1)}
results = []
# Loop through the models' values
for ____ in models.values():
kf = KFold(n_splits=6, random_state=42, shuffle=True)
# Perform cross-validation
cv_scores = ____(____, ____, ____, cv=____)
# Append the results
____.____(____)
# Create a box plot of the results
plt.____(____, labels=____.____())
plt.show()