YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Submission 2: Proyek Akhir Pengembangan dan Pengoperasian Sistem Machine Learning (MLOps)

Nama: Mursyid Dwi Wahidiyantoro
Username Dicoding: mursyiddwiw

Komponen Deskripsi
Dataset Heart Disease UCI (Cleveland Dataset) — Terdiri dari 297 baris data rekam medis pasien dengan 13 fitur klinis (7 numerik: age, trestbps, chol, thalach, oldpeak, ca, thal; 6 kategorikal: sex, cp, fbs, restecg, exang, slope) serta label biner (target: 0 = tidak ada penyakit jantung, 1 = terindikasi penyakit jantung).
Masalah Penyakit kardiovaskular merupakan salah satu penyebab kematian tertinggi di dunia. Diagnosis dini yang akurat dan terotomasi sangat krusial dalam menyelamatkan nyawa pasien. Proyek ini bertujuan membangun sistem prediksi penyakit jantung end-to-end yang andal, scalable, tervalidasi secara otomatis, dan dapat dipantau performanya secara berkelanjutan di lingkungan produksi.
Solusi Machine Learning Membangun end-to-end Machine Learning Pipeline menggunakan TensorFlow Extended (TFX) dengan pipeline orchestrator Apache Beam. Pipeline mencakup 10 komponen lengkap: CsvExampleGen, StatisticsGen, SchemaGen, ExampleValidator, Transform, Tuner, Trainer, Resolver, Evaluator, dan Pusher. Model yang tervalidasi di-push secara otomatis ke direktori serving dan dioperasikan pada environment cloud container berbasis TensorFlow Serving dengan pemantauan metrik Prometheus.
Metode Pengolahan Data di-ingest via CsvExampleGen dengan rasio train-eval 8:2. StatisticsGen dan SchemaGen membuat data schema otomatis. ExampleValidator mendeteksi anomali data. Tahap Transform (transform.py) melakukan standarisasi z-score pada seluruh fitur numerik dan identity mapping pada fitur kategorikal untuk mencegah training-serving skew (feature skew).
Arsitektur Model Deep Neural Network (DNN) dengan multi-layer feedforward: Input layer -> Concatenation -> Dense layer pertama -> Batch Normalization -> Dropout -> Dense layer kedua -> Dropout -> Output layer Dense (1 unit, Sigmoid). Berdasarkan hasil Keras Tuner RandomSearch (tuner.py) yang tersimpan pada best_hyperparameters.txt di direktori pipeline, konfigurasi optimal yang dipilih dan digunakan Trainer adalah: units_1: 128 unit, units_2: 128 unit (dengan variasi tuning 64-256 unit), dropout: 0.1 (rentang 0.1 - 0.4), dan learning_rate: 0.001504 (Adam optimizer) dengan target maksimasi val_auc.
Metrik Evaluasi Metrik evaluasi utama adalah AUC (Area Under ROC Curve) dengan ambang batas minimal 0.75 (sesuai konfigurasi lower_bound: 0.75 pada eval_config di komponen Evaluator) untuk mendapatkan status BLESSED dari komponen Evaluator (TFMA) serta memastikan performa model melampaui baseline. Metrik pelengkap mencakup BinaryAccuracy dan ExampleCount dengan analisis slicing pada fitur demografis sex dan cp.
Performa Model Model mencapai skor evaluasi AUC = 0.88 - 0.90 dan Binary Accuracy = 83.33%, berhasil melampaui baseline threshold 0.75 sehingga dinyatakan BLESSED oleh TFMA Evaluator. Model versi 1789874863 berhasil dipublikasikan oleh Pusher ke direktori serving model.
Opsi Deployment & Platform Model di-deploy menggunakan containerized TensorFlow Serving (Docker image tensorflow/serving:2.13.0) yang berjalan di environment cloud dengan Cloudflare Tunnel reverse proxy SSL/TLS edge routing pada custom domain mlops.madewadigital.com. Endpoint publik menyediakan antarmuka REST API model metadata, prediksi inferensi, dan scraping metrik Prometheus.
Tautan Web App Model Serving Web App / REST API Endpoint: https://mlops.madewadigital.com
Model Status: https://mlops.madewadigital.com/v1/models/heart_disease
Predict Endpoint: https://mlops.madewadigital.com/v1/models/heart_disease:predict
Metrics Endpoint: https://mlops.madewadigital.com/monitoring/prometheus/metrics
Hasil Monitoring Sistem ML Monitoring dilakukan secara real-time menggunakan Prometheus server yang melakukan scraping metrik setiap 5 detik ke target cloud mlops.madewadigital.com via HTTPS pada endpoint /monitoring/prometheus/metrics. Pada Prometheus Web UI (http://localhost:9090/targets), target berstatus aktif State: UP (1/1 UP, scrape duration ~112-270 ms). Metrik yang teramati dan tercatat pada Prometheus antara lain: :tensorflow:serving:request_count (jumlah request sukses terlayani, bertambah seiring pengujian inferensi), :tensorflow:serving:request_latency_count dan :tensorflow:serving:request_latency_sum (total request latency kumulatif), :tensorflow:serving:model_version_status{model_name="heart_disease",state="AVAILABLE",version="1789874863"} = 1 (ketersediaan model serving aktif dan siap inferensi), serta uptime container serving.
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support