Mohammad Arif Mustofa
Pada proyek ini akan dilakukan klasifikasi mengenai penyakit stroke berdasarkan variabel yang menjadi faktor resiko penyebab penyakit stroke diantaranya adalah jenis kelamin, umur, memiliki tekanan darah tinggi, penyakit jantung, level kadar glukosa dalam darah, status merokok dan lain-lain. Prediksi ini menggunakan model algoritma klasifikasi berupa decision Tree dan KNN untuk dilakukan perhitungan performa akurasi, f1-score dan presisinya.
Deskripsi
Penyakit stroke adalah kehilangan fungsi otak yang diakibatkan oleh berhentinya suplai darah ke bagian otak sering ini adalah kulminasi penyakit serebrovaskuler selama beberapa tahun. Menurut WHO stroke adalah adanya tanda-tanda klinik yang berkembang cepat akibat gangguan fungsi otak fokal (atau global) dengan gejala-gejala yang berlangsung selama 24 jam atau lebih yang menyebabkan kematian tanpa adanya penyebab lain yang jelas selain vaskuler. Diantara faktor resiko terjadinya stroke diantarannya disebabkan oleh beberapa hal diantaranya adalah memiliki hipertensi (tekanan darah tinggi), kolesterol yang tinggi, diabetes, merokok, konsumsi alcohol dan penyalahgunaan obat-obatan. Pada proyek ini akan diklasifikasikan beberapa variabel penyebab dari penyakit stroke ataupun tidak stroke pada sejumlah orang beserta mencari pemodelan algoritma yang sesuai untuk kasus ini.
Tentang Data
Data yang dipakai pada proyek ini bersumber dari Kaggle.com, link dataset dapat diunduh pada laman berikut:
https://www.kaggle.com/datasets/fedesoriano/stroke-prediction-dataset
Data Preprocessing
Pembacaan data dilakukan dengan library Pandas didapatkan tampilan dataset sebagai berikut:
Fitur dataset diatas memuat id, gender (jenis kelamin), umur, riwayat hipertensi, penyakit hati, pernah menikah, tipe pekerjaan, level glukosa, bmi, dan status merokok. Sedangkan untuk target/kelas berupa stroke. Untuk data riwayat hipertensi, penyakit hati, dan stroke dalam tipe biner. Sehingga nilai dari 0 adalah False (tidak mengalami) dan 1 adalah True (mengalami).
Dalam fitur BMI terdapat 201 baris data yang missing value (data kosong) sehingga akan dilakukan pengisian data yang kosong tersebut dengan data mean, Hasinya sebagai berikut:
Pengecekan data kembali dilakukan untuk memastiakn bahwa dataset telah bersih dan dapat diolah ke tahap selanjutnya. Missing value pada data dapat mempengaruhi keakuratan dari performa model sehingga harus dilakukan data cleaning.
Melakukan label Encoding pada data smoking status (status merokok) dengan keterangan 0 adalah status tidak diketahui, 1 adalah dulu pernah merokok, 2 adalah tidak pernah merokok, dan 3 perokok aktif.
Pada taha selanjutnya dapat dilakukan visualisasi, dimana jumlah penderita stroke terhadap jenis kelamin. Dapat dilihat bahwa laki-laki cenderung banyak yang terkena penyakit sroke pada data ini.
Tabel heatmap adalah jenis visualisasi yang dapat digunakan untuk melihat korelasi dari variable fitur terhadap kelas target. Tabel heatmap dapat dilihat pada gambar dibawah ini:
Pemodelan Algoritma Klasifikasi
Data training dan data testing diambil dengan perbandingan 80 : 20
Data split
Evaluasi Model
Evaluasi model dengan sklearn classifier
Menghitung akurasi setiap model dapat dilihat pada tabel:
Kesimpulan
Pada hasil didapatkan nilai akurasi model algoritma decision tree adalah sebesar 0.94 dengan nilai f1-score 0.97 sedangkan model KNN adalah sebesar 0.95 dengan nilai f1-score 0.97.