Prediksi Stroke Algoritma Decision Tree dan KNN

Mohammad Arif Mustofa

Sosial Media


1 orang menyukai ini
Suka

Summary

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.

Description

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

  • Decision Tree Classifier

  • KNN

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.

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Python Data Science untuk Pemula