Mô tả chi tiết Heart Disease Diagnosis with Tree-based Algorithms
1. Mục tiêu và bối cảnh
Bệnh tim mạch là nguyên nhân gây tử vong hàng đầu toàn cầu. Dự án tập trung vào việc hỗ trợ chẩn đoán sớm thông qua bộ dữ liệu Cleveland Heart Disease (303 bệnh nhân, 13 đặc trưng).
Nhãn mục tiêu được nhị phân hóa: 0 (không bệnh) và 1 (có bệnh).
2. Tiền xử lý và đặc trưng
Dữ liệu được chia train/val/test theo tỷ lệ 80:10:10 với phân tầng theo nhãn.
Xây dựng bốn biến thể dữ liệu để đánh giá: Original, FE (thêm đặc trưng sinh mới và chọn lọc theo Mutual Information), Original + DT, và FE + DT (chọn đặc trưng theo Decision Tree).
3. Các mô hình Machine Learning
Baseline (không thuộc họ cây): Naive Bayes và K-Nearest Neighbors (KNN).
Họ cây (Tree-based): Decision Tree (baseline), Random Forest (Bagging), AdaBoost, Gradient Boosting (Boosting), và XGBoost.
Các mô hình được benchmark trên cùng một khung thực nghiệm sử dụng Stratified K-Fold Cross-Validation để dò siêu tham số.
4. Giải thích mô hình
Sử dụng TreeSHAP để giải thích dự đoán của mô hình.
Công cụ này cho phép phân tích tầm quan trọng của các đặc trưng ở cấp độ toàn cục (Global importance) và cấp độ cục bộ cho từng bệnh nhân cụ thể (Waterfall plot).
5. Kết quả và Khuyến nghị
Hiệu năng cao nhất đạt 97% trên tập validation và 90% trên tập test.
Random Forest được khuyến nghị là lựa chọn hợp lý nhất nhờ sự ổn định, hiệu năng cao và khả năng cung cấp feature importance để đối chiếu với kiến thức y khoa.
Dự án bao gồm việc xây dựng ứng dụng demo bằng Streamlit để minh họa khả năng dự đoán.