Cắt tỉa cây (pruning)
Overfitting là một vấn đề kinh điển trong phân tích, đặc biệt với thuật toán cây quyết định. Khi cây phát triển tối đa, nó có thể dự đoán rất chính xác trên mẫu huấn luyện nhưng lại kém chính xác trên tập kiểm tra. Vì vậy, quá trình phát triển của cây quyết định thường được kiểm soát bằng cách:
- “Cắt tỉa” (pruning) cây và đặt giới hạn cho độ sâu tối đa.
- Giới hạn số lượng quan sát tối thiểu trong một lá của cây.
Trong bài tập này, bạn sẽ:
- cắt tỉa cây và giới hạn độ sâu tối đa là 5 mức
- fit mô hình với dữ liệu nhân viên
- kiểm tra kết quả dự đoán trên cả tập huấn luyện và tập kiểm tra.
Các biến features_train, target_train, features_test và target_test đã có sẵn trong không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Phân tích Nhân sự (HR Analytics): Dự đoán nghỉ việc bằng Python
Hướng dẫn bài tập
- Khởi tạo
DecisionTreeClassifiervà giới hạn độ sâu của cây là 5. - Fit mô hình Cây quyết định (Decision Tree) dùng
featuresvàtargettrong tập huấn luyện. - Kiểm tra độ chính xác (accuracy) của dự đoán trên cả tập huấn luyện và tập kiểm tra.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)