[06 // Machine Learning]
Machine Learning Model for Heart Attack Risk Prediction
- Python
- Scikit-learn
- Pandas
- SMOTE
- Joblib
- Flask
- Docker

[01]
Ringkasan
Purwarupa prediksi risiko ini membandingkan empat algoritma klasifikasi biner pada 158.355 observasi dengan 21 prediktor.
Model Random Forest terpilih dikemas sebagai layanan inferensi Flask yang menghasilkan kelas, probabilitas, faktor pendukung, dan feature importance global.
[02]
Kontribusi Saya
- Menyiapkan dataset dengan encoding lima field kategorikal dan menerapkan MinMaxScaler.
- Membuat pembagian stratified 80:20 dan menerapkan SMOTE hanya pada partisi training.
- Membandingkan Random Forest, linear SVM, KNN, dan Logistic Regression dengan RandomizedSearchCV berfokus pada F1.
- Menyimpan artefak terpilih dengan Joblib dan melakukan deployment layanan Flask melalui Docker di Ubuntu.
[03]
Catatan Teknis Utama
- Data awal berisi 158.355 baris, 22 kolom, dan tidak memiliki missing value.
- Pembagian stratified menghasilkan 126.684 baris training dan 31.671 baris test sebelum penyeimbangan SMOTE khusus training.
- Random Forest mencapai accuracy 71,93%, precision 64,12%, recall 68,15%, F1 0,6607, dan ROC-AUC 0,8015.
- Logistic Regression menghasilkan F1 tertinggi dalam perbandingan sebesar 0,6618, sedangkan KNN menghasilkan recall tertinggi sebesar 70,40%; Random Forest dipilih karena memimpin accuracy dan ROC-AUC.
[04]
Bukti Visual


[05]
Tech Stack
- Python
- Scikit-learn
- Pandas
- SMOTE
- Joblib
- Flask
- Docker
[06]
Status & Tautan
Purwarupa dengan layanan inferensi yang telah di-deploy
Kode sumber atau sistem bersifat internal/tertutup.