1. Business Understanding#

1. Latar Belakang#

Klasifikasi time series merupakan salah satu tantangan utama dalam machine learning, terutama ketika data memiliki makna temporal yang kritis—seperti dalam sinyal fisiologis. Berbeda dengan data tabular, urutan nilai dalam time series menyimpan informasi struktural yang tidak boleh diabaikan. Kemampuan untuk mengenali pola temporal secara akurat memiliki aplikasi luas, mulai dari prediksi kegagalan mesin hingga diagnosis dini penyakit kardiovaskular berdasarkan sinyal elektrokardiogram (ECG).

Dataset ECG200 adalah salah satu benchmark standar dalam repositori klasifikasi time series, yang awalnya dikembangkan oleh Robert Olszewski dalam tesis doktoralnya di Carnegie Mellon University (2001). Dataset ini terdiri dari segmen ECG yang telah diproses menjadi deret waktu univariat sepanjang 96 titik, dengan tujuan khusus: mengklasifikasikan denyut jantung menjadi dua kategori—normal atau abnormal (mengindikasikan infark miokard).

Meskipun tampak sederhana, dataset ini menjadi ujian penting bagi algoritma klasifikasi karena perbedaan antar kelas tidak terletak pada amplitudo umum, melainkan pada morfologi halus gelombang ECG, seperti elevasi segmen ST atau keberadaan gelombang Q patologis. Dengan memanfaatkan pendekatan machine learning—khususnya melalui perbandingan beberapa algoritma klasik seperti Random Forest, KNN, dan SVM—analisis ini bertujuan untuk membangun model yang mampu menangkap pola klinis tersebut secara otomatis dan akurat.

2. Business Problem#

Dalam praktik klinis, interpretasi ECG membutuhkan keahlian spesialis dan waktu yang tidak sebentar. Di daerah terpencil atau fasilitas kesehatan dengan keterbatasan tenaga ahli, risiko keterlambatan diagnosis infark miokard sangat tinggi—padahal, waktu adalah otot: setiap menit keterlambatan dapat menyebabkan kerusakan jantung yang permanen.

Permasalahan spesifik yang ingin dijawab dalam proyek ini meliputi:

  • Bagaimana membangun model machine learning yang mampu mengenali perbedaan morfologis halus antara ECG normal dan abnormal hanya berdasarkan 96 titik waktu?

  • Apakah algoritma klasifikasi konvensional (seperti Random Forest, KNN, SVM) cukup efektif untuk menangani karakteristik time series medis yang bersifat struktural namun berdimensi rendah?

  • Bagaimana memastikan model tidak hanya akurat, tetapi juga adil dalam mengenali kedua kelas, mengingat konsekuensi medis yang kritis jika kelas abnormal terlewat?

3. Tujuan Analisis#

Proyek ini bertujuan untuk membangun sistem klasifikasi time series pada dataset ECG200 menggunakan pendekatan machine learning. Tujuan utamanya meliputi:

  • Membangun dan membandingkan kinerja enam algoritma klasifikasi (Naive Bayes, Logistic Regression, Decision Tree, Random Forest, KNN, SVM) dalam membedakan sinyal ECG normal (1) dan abnormal (-1).

  • Mencapai F1-score ≥ 0.80 pada data uji sebagai indikator keseimbangan antara presisi (menghindari false positive) dan recall (menghindari false negative).

  • Mengimplementasikan model terbaik dalam aplikasi berbasis Streamlit yang memungkinkan pengguna mengunggah file CSV berisi 96 nilai ECG dan menerima prediksi instan beserta visualisasi sinyal.

4. Manfaat Proyek#

Hasil analisis ini diharapkan memberikan manfaat sebagai berikut:

  • Edukasi: Memahami penerapan metodologi CRISP-DM pada data time series medis, termasuk tantangan dalam preprocessing, pemilihan model, dan evaluasi.

  • Teknologi: Menunjukkan bahwa model klasik dapat mencapai performa tinggi bahkan pada dataset kecil (200 sampel) jika diproses dengan benar—tanpa perlu arsitektur deep learning yang kompleks.

  • Sosial: Memberikan wawasan tentang potensi AI sebagai alat bantu skrining awal dalam layanan kesehatan, terutama di wilayah dengan akses terbatas terhadap tenaga medis spesialis.

5. Ruang Lingkup Proyek#

Ruang lingkup proyek ini mencakup:

  • Penggunaan dataset ECG200 dari repositori Time Series Classification, yang terdiri dari:

    • 100 sampel latih,

    • 100 sampel uji,

    • Setiap sampel: 96 titik waktu, 1 dimensi, 2 kelas (1 = normal, -1 = infark miokard).

  • Tahapan analisis meliputi:

    • Eksplorasi data (EDA): distribusi kelas, visualisasi pola ECG per kelas, pemeriksaan kualitas data.

    • Preprocessing: normalisasi ulang, penanganan ketidakseimbangan kelas (jika diperlukan).

    • Benchmarking model: pelatihan dan evaluasi 6 algoritma klasifikasi.

    • Pemilihan model terbaik berdasarkan F1-score dan stabilitas.

  • Deployment: Implementasi model terbaik dalam aplikasi Streamlit untuk prediksi real-time berbasis unggah file CSV (1 baris × 96 kolom).

  • Batasan:

    • Bukan alat diagnosis medis—hanya untuk keperluan edukasi dan eksperimen.

    • Tidak menangani noise klinis atau artefak gerakan (karena data sudah diproses dan bersih).

    • Tidak melakukan deteksi eksplisit fitur ECG (misalnya: puncak QRS), melainkan mengandalkan representasi time series secara utuh.