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

พัฒนาและทดสอบโมเดลที่ดีที่สุด

ในบทที่ 3 คุณพบว่าพารามิเตอร์ต่อไปนี้ช่วยให้ได้โมเดลที่ดีขึ้น:

  • max_depth = 8
  • min_samples_leaf = 150
  • class_weight = "balanced"

ในบทนี้ คุณค้นพบว่าฟีเจอร์บางตัวมีผลกระทบเพียงเล็กน้อย และสามารถทำนายได้อย่างแม่นยำโดยใช้เพียงฟีเจอร์ที่มีความสำคัญจำนวนน้อย จึงได้อัปเดตชุดข้อมูลสำหรับฝึกและทดสอบ โดยสร้างตัวแปร features_train_selected และ features_test_selected ขึ้นมา

ด้วยข้อมูลทั้งหมดที่มี ตอนนี้ถึงเวลาพัฒนาโมเดลที่ดีที่สุดสำหรับทำนายการลาออกของพนักงาน และประเมินผลด้วยเมตริกที่เหมาะสม

ตัวแปร features_train_selected และ features_test_selected พร้อมใช้งานใน workspace แล้ว และฟังก์ชัน recall_score กับ roc_auc_score ได้ถูก import ไว้ให้เรียบร้อย

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

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

ดูคอร์ส

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

  • กำหนดค่าเริ่มต้นของโมเดลที่ดีที่สุดโดยใช้พารามิเตอร์ที่ระบุในคำอธิบาย
  • ฝึกโมเดลโดยใช้เฉพาะฟีเจอร์ที่คัดเลือกแล้วจากชุดข้อมูลฝึก
  • ทำนายผลโดยใช้ฟีเจอร์ที่คัดเลือกแล้วจากชุดข้อมูลทดสอบ
  • แสดงค่าความแม่นยำ (accuracy), recall และคะแนน ROC/AUC ของโมเดล

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

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

# Initialize the best model using parameters provided in description
model_best = DecisionTreeClassifier(____=____, ____=____, ____=____, random_state=42)

# Fit the model using only selected features from training set: done
model_best.fit(____, target_train)

# Make prediction based on selected list of features from test set
prediction_best = model_best.____(____)

# Print the general accuracy of the model_best
print(____.score(features_test_selected, target_test) * 100)

# Print the recall score of the model predictions
print(____(target_test, prediction_best) * 100)

# Print the ROC/AUC score of the model predictions
print(roc_auc_score(target_test, ____) * 100)
แก้ไขและรันโค้ด