ANNAS TRI WIDAGDO/PORTFOLIO · 2026
VOL. 01 // TECHNICAL ARCHIVE
■annastriwidagdo.me
SOFTWARE ENGINEER·FULL-STACK WEB DEVELOPER·AI & MACHINE LEARNING ENTHUSIAST
ENTRY 001MEMBUKA ARSIP TEKNIS00% · 01 / 01
Lewati ke konten
■annastriwidagdo.me
  • 01Beranda
  • 02Tentang
  • 03Proyek●
  • 04Blog
  • 05Kontak
LANGEN/ID
■annastriwidagdo.me
  • Software Engineer
  • Full-Stack Web Developer
  • AI & Machine Learning Enthusiast
EMAILannastriw6@gmail.com↗ (dibuka di tab baru)LINKEDIN/in/annastriwidagdo↗ (dibuka di tab baru)GITHUB@annastriw↗ (dibuka di tab baru)CONTACTBuka Kontak→

© 2026 Annas Tri Widagdo. Find the purpose. Build the solution.

←Kembali ke Proyek
06 // MACHINE LEARNING

Machine Learning Model for Heart Attack Risk Prediction

Prototype machine learning untuk decision support pada iHealth Edu yang memperkirakan risiko serangan jantung dari data pasien dan menyajikan hasilnya melalui Flask API.

Peran
Machine Learning Engineer
Periode
Juni–Agustus 2025
Status
Completed Prototype
Integrasi Produk
iHealth Edu
Lihat Repository GitHub↗
[01]

Galeri Proyek

Perbesar Gambar
Respons inferensi terminal yang menampilkan hasil prediksi risiko rendah, estimasi probabilitas, faktor pendukung, dan 5 bobot fitur teratas.
Tampilan terminal yang menampilkan 21 input fitur klinis, demografis, dan pola hidup sebelum inferensi model.
Respons inferensi terminal yang menampilkan hasil prediksi risiko rendah, estimasi probabilitas, faktor pendukung, dan 5 bobot fitur teratas.
Tampilan terminal yang menampilkan 21 input fitur klinis, demografis, dan pola hidup sebelum inferensi model.
Perbesar Gambar
[01]Struktur input data pasien memuat 21 parameter demografis, klinis, dan gaya hidup sebelum proses inferensi model.
01 / 02
[02]

Gambaran Proyek

Saya mengembangkan project ini sebagai komponen machine learning decision support yang terintegrasi dengan website iHealth Edu dan digunakan oleh tenaga kesehatan. Pengembangan model menggunakan dataset Heart Attack Prediction in Indonesia oleh A. Panday dari Kaggle tahun 2025, yang terdiri dari 158.355 observasi dan 21 predictor.

Workflow mencakup data preparation, penyeimbangan kelas, perbandingan model, evaluasi, dan deployment inference. Random Forest dipilih karena menghasilkan accuracy dan ROC-AUC tertinggi, kemudian disimpan dan disajikan melalui Flask REST API yang di-deploy menggunakan Docker pada Ubuntu.

Sumber Dataset: A. Panday, Heart Attack Prediction in Indonesia, Kaggle, 2025↗
[03]

Kontribusi Saya

  • 01Menyiapkan dataset dengan melakukan encoding pada lima fitur kategorikal, scaling predictor, membagi data secara stratified 80:20, dan menerapkan SMOTE hanya pada data training.
  • 02Melatih dan membandingkan Random Forest, Linear SVM, K-Nearest Neighbors, dan Logistic Regression dengan hyperparameter tuning yang berfokus pada F1-score.
  • 03Memilih Random Forest berdasarkan accuracy dan ROC-AUC, menyimpan model serta preprocessing artifacts menggunakan Joblib, dan membangun Flask REST API untuk inference.
  • 04Melakukan deployment inference service menggunakan Docker pada Ubuntu dan mengintegrasikan hasil prediksi ke iHealth Edu untuk tenaga kesehatan.

Project ini memberi saya pengalaman membangun workflow machine learning mulai dari data preparation hingga terintegrasi dengan produk yang digunakan.

■Tech Stack
  • Python
  • Scikit-learn
  • Pandas
  • SMOTE
  • Flask
  • Docker
[04]

Cakupan Sistem

■01 // Data Preparation
  • 01158.355 observasi
  • 0222 kolom
  • 0321 prediktor
  • 045 fitur kategorikal
  • 05Tidak ada missing value
  • 06Stratified 80:20 split
  • 07SMOTE hanya pada data training
■02 // Model Evaluation
ModelAccuracyPrecisionRecallF1-ScoreROC-AUCKeterangan
Random Forest[Terpilih]71,93%64,12%68,15%0,66070,8015Model terpilih: accuracy (71,93%) dan ROC-AUC (0,8015) tertinggi
Logistic Regression———0,6618—F1 tertinggi dalam perbandingan: 0,6618
K-Nearest Neighbors——70,40%——Recall tertinggi dalam perbandingan: 70,40%
Linear SVM—————Model perbandingan tanpa metrik tambahan
Random Forest[Terpilih]
Accuracy71,93%
Precision64,12%
Recall68,15%
F1-Score0,6607
ROC-AUC0,8015

Model terpilih: accuracy (71,93%) dan ROC-AUC (0,8015) tertinggi

Logistic Regression
Accuracy—
Precision—
Recall—
F1-Score0,6618
ROC-AUC—

F1 tertinggi dalam perbandingan: 0,6618

K-Nearest Neighbors
Accuracy—
Precision—
Recall70,40%
F1-Score—
ROC-AUC—

Recall tertinggi dalam perbandingan: 70,40%

Linear SVM
Accuracy—
Precision—
Recall—
F1-Score—
ROC-AUC—

Model perbandingan tanpa metrik tambahan

Random Forest dipilih karena menghasilkan accuracy dan ROC-AUC tertinggi dalam perbandingan yang didokumentasikan.

■[BATAS KLAIM // DECISION SUPPORT MEDIS]

Prototype ini mendukung penilaian risiko dan tidak memberikan diagnosis klinis maupun menggantikan pertimbangan tenaga kesehatan.

■03 // Inference Integration
  • 01Joblib model dan preprocessing artifacts
  • 02Flask REST API
  • 03Risk class dan probabilitas
  • 04Faktor pendukung
  • 05Global feature importance
  • 06Deployment Docker pada Ubuntu
  • 07Integrasi iHealth Edu untuk tenaga kesehatan