Cross-validation สำหรับค่า R-squared
Cross-validation เป็นวิธีที่สำคัญมากในการประเมินประสิทธิภาพของโมเดล เพราะช่วยให้ใช้ประโยชน์จากข้อมูลได้สูงสุด โดยโมเดลจะถูกทั้งเทรนและทดสอบบนข้อมูลทั้งหมดที่มี
ในแบบฝึกหัดนี้ จะสร้างโมเดล linear regression แล้วใช้ 6-fold cross-validation เพื่อประเมินความแม่นยำในการพยากรณ์ยอดขายจากงบโฆษณาบนโซเชียลมีเดีย พร้อมแสดงคะแนนของแต่ละ fold ทั้งหกรอบ
ชุดข้อมูล sales_df ถูกแบ่งเป็น y สำหรับตัวแปรเป้าหมาย และ X สำหรับฟีเจอร์ และโหลดไว้ให้แล้ว นอกจากนี้ LinearRegression ถูกนำเข้าจาก sklearn.linear_model เรียบร้อยแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ด้วย scikit-learn
คำแนะนำการฝึกหัด
- นำเข้า
KFoldและcross_val_score - สร้าง
kfโดยเรียกใช้KFold()กำหนดจำนวน splits เป็น 6 ตั้งค่าshuffleเป็นTrueและกำหนด seed เป็น5 - ทำ cross-validation โดยใช้
regบนXและyโดยส่งkfไปยังcv - แสดงผลลัพธ์
cv_scores
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the necessary modules
from ____.____ import ____, ____
# Create a KFold object
kf = ____(n_splits=____, shuffle=____, random_state=____)
reg = LinearRegression()
# Compute 6-fold cross-validation scores
cv_scores = ____(____, ____, ____, cv=____)
# Print scores
print(____)