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

การสุ่มตัวอย่างแบบแบ่งชั้น

ตอนนี้คุณทราบแล้วว่าการกระจายของป้ายกำกับคลาสในคอลัมน์ category_desc ของชุดข้อมูล volunteer นั้นไม่สม่ำเสมอ หากต้องการฝึกโมเดลให้ทำนาย category_desc จำเป็นต้องให้แน่ใจว่าโมเดลถูกฝึกบนข้อมูลที่เป็นตัวแทนของชุดข้อมูลทั้งหมด การสุ่มตัวอย่างแบบแบ่งชั้น (stratified sampling) เป็นวิธีที่ช่วยให้บรรลุเป้าหมายนี้ได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง DataFrame ของฟีเจอร์ชื่อ X โดยใช้ทุกคอลัมน์ยกเว้น category_desc
  • สร้าง DataFrame ของป้ายกำกับชื่อ y จากคอลัมน์ category_desc
  • แบ่ง X และ y ออกเป็นชุดฝึกและชุดทดสอบ โดยให้แน่ใจว่าการกระจายของคลาสในป้ายกำกับมีสัดส่วนเท่ากันทั้งสองชุด
  • แสดงป้ายกำกับและจำนวนนับใน y_train โดยใช้ .value_counts()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)

# Create a category_desc labels dataset
y = ____[[____]]

# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)

# Print the category_desc counts from y_train
print(____[____].____)
แก้ไขและรันโค้ด