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

การปรับสมดุลคลาส

ความไม่สมดุลของคลาสส่งผลอย่างมากต่อผลการทำนาย ดังที่เห็นได้จากความแตกต่างระหว่างค่า recall และ accuracy วิธีแก้ปัญหาทั่วไปคือการกำหนดน้ำหนักที่เท่ากันให้แต่ละคลาส ซึ่งทำได้โดยใช้อาร์กิวเมนต์ class_weight ใน DecisionTreeClassifier ของ sklearn เพื่อตั้งค่าคลาสให้เป็น "balanced"

มาแก้ไขโมเดลของเราด้วยการจัดการปัญหาความไม่สมดุลนี้กัน:

  • ขั้นแรก ตั้งค่าโมเดลให้มีคลาสที่สมดุล
  • จากนั้น ฝึกโมเดลด้วยข้อมูลชุดฝึก
  • สุดท้าย ตรวจสอบความแม่นยำของโมเดลบนชุดข้อมูลทดสอบ

ตัวแปร features_train, target_train, features_test และ target_test มีอยู่ใน workspace ของคุณแล้ว

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

HR Analytics: การพยากรณ์การลาออกของพนักงานด้วย Python

ดูคอร์ส

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

  • กำหนดค่าเริ่มต้นให้ Decision Tree Classifier, ตัดแต่งต้นไม้ โดยจำกัดความลึกสูงสุดที่ 5 และปรับสมดุลน้ำหนักของคลาส
  • ฝึกโมเดลใหม่
  • แสดงค่าความแม่นยำ score ของการทำนาย (เป็นเปอร์เซ็นต์) สำหรับชุดข้อมูลทดสอบ

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

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

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
แก้ไขและรันโค้ด