การแบ่งข้อมูล Train - Test
ในบทนี้ จะทำงานกับชุดข้อมูล ANSUR ต่อไป ก่อนสร้างโมเดลจากชุดข้อมูล ควรกำหนดก่อนว่าต้องการพยากรณ์ฟีเจอร์ใด ในกรณีนี้คือการพยากรณ์เพศ (Gender)
ต้องดึงคอลัมน์ที่เก็บฟีเจอร์นี้ออกจากชุดข้อมูล จากนั้นแบ่งข้อมูลออกเป็นชุดฝึก (training set) และชุดทดสอบ (test set) โดยชุดฝึกจะใช้สำหรับฝึกโมเดล และชุดทดสอบจะใช้ตรวจสอบประสิทธิภาพของโมเดลบนข้อมูลที่ไม่เคยเห็นมาก่อน
ansur_df ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การลดมิติข้อมูลใน Python
คำแนะนำการฝึกหัด
- นำเข้าฟังก์ชัน
train_test_splitจากsklearn.model_selection - กำหนดคอลัมน์
'Gender'ให้กับ y - ลบคอลัมน์
'Gender'ออกจาก DataFrame แล้วกำหนดผลลัพธ์ให้กับX - ตั้งค่าขนาดชุดทดสอบเป็น 30% เพื่อแบ่งข้อมูลเป็นชุดฝึก 70% และชุดทดสอบ 30%
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import train_test_split()
from ____.____ import ____
# Select the Gender column as the feature to be predicted (y)
y = ansur_df[____]
# Remove the Gender column to create the training data
X = ansur_df.____(____, ____)
# Perform a 70% train and 30% test data split
X_train, X_test, y_train, y_test = ____(X, y, ____=____)
print(f"{X_test.shape[0]} rows in test set vs. {X_train.shape[0]} in training set, {X_test.shape[1]} Features.")