ทำนายการเลิกใช้บริการด้วย Decision Tree
ในแบบฝึกหัดนี้ จะได้ต่อยอดทักษะจากแบบฝึกหัดก่อนหน้า โดยสร้าง decision tree ที่ซับซ้อนขึ้นพร้อม parameter เพิ่มเติม เพื่อทำนายการเลิกใช้บริการของลูกค้า ในบทถัดไปจะได้เจาะลึกปัญหานี้มากขึ้น แต่สำหรับตอนนี้ ให้รัน decision tree classifier กับข้อมูลฝึกสอน จากนั้นทำนายอัตราการเลิกใช้บริการบนข้อมูลทดสอบ (ที่โมเดลยังไม่เคยเห็น) และประเมินความแม่นยำของโมเดลบนทั้งสองชุดข้อมูล
โมดูล tree จากไลบรารี sklearn ถูกโหลดไว้ให้แล้ว รวมถึงฟังก์ชัน accuracy_score จาก sklearn.metrics ตัวแปร features และ target ถูกนำเข้าเป็น train_X, train_Y สำหรับข้อมูลฝึกสอน และ test_X, test_Y สำหรับข้อมูลทดสอบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับการตลาดด้วย Python
คำแนะนำการฝึกหัด
- สร้าง Decision tree โดยกำหนด maximum depth เป็น 7 และใช้ criterion แบบ gini
- Fit โมเดลกับข้อมูลฝึกสอน
- ทำนายค่าบนชุดข้อมูลทดสอบ
- แสดงค่าความแม่นยำของทั้งชุดข้อมูลฝึกสอนและชุดข้อมูลทดสอบ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize the Decision Tree
clf = tree.DecisionTreeClassifier(max_depth = ___,
criterion = 'gini',
splitter = 'best')
# Fit the model to the training data
clf = clf.___(train_X, train_Y)
# Predict the values on test dataset
pred_Y = clf.___(test_X)
# Print accuracy values
print("Training accuracy: ", np.round(clf.score(train_X, train_Y), 3))
print("Test accuracy: ", np.round(___(test_Y, pred_Y), 3))