Deteksi Penyakit Stroke Menggunakan Decision Tree

Ali Imran Nasution

Sosial Media


0 orang menyukai ini
Suka

Summary

Salah satu cara untuk mempelajari stroke yaitu dengan ilmu data science yang diolah dengan metode machine learning dengan pemanfaatannya dilakukan suatu tindakan pendeteksian terhadap kemungkinan seseorang terkena penyakit stroke agar dapat segera diatasi sesuai dengan tingkat risikonya dengan berbagai parameter berdasarkan dataset yang diambil dari Kaggle. Setiap baris dalam dataset memberikan informasi yang relevan tentang pasien seperti usia, status merokok, jenis kelamin, penyakit jantung, bmi, jenis pekerjaan dan pada akhirnya apakah pasien menderita stroke. Parameter terakhir ini akan menjadi target, yang akan dilakukan diagnosa penyakit stroke dengan klasifikasi menggunakan algoritma Decision Tree.

Description

Dataset yang digunakan terdiri dari beberapa variabel berikut:

'id' : ID pasien 'gender' : Jenis kelamin pasien 'age' : Umur pasien 'hypertension' : Apakah pasien memiliki hipertensi? 'heart_disease' : Apakah pasien memiliki penyakit jantung? 'ever_married' : Apakah pasien pernah menikah? 'work_type' : Jenis pekerjaan pasien 'Residence_type': Tempat tinggal pasien 'avg_glucose_level' : Level glukosa rata-rata pasien 'bmi' : index masa tubuh 'smoking_status' : Apakah pasien merokok? 'stroke' : Status stroke pasien

Import Library dan Membaca Dataset

Hasil Pengamatan :

  • Total Data berjumlah 5110 entries
  • Kolom bmi terdapat missing values

Hal yang dilakukan:

  • Drop Missing Values

 

Statistical Summary

Hasil Pengamatan :

  • Kolom bmi tampak sudah cukup simetrik distribusinya (mean dan median tak berbeda jauh)
  • Kolom age nilai minimalnya berbentuk desimal artinya tipe datanya berbentuk float
  • Kolom age dan avg_glucose_level tampaknya skew
  • Kolom hypertension, heart_disease, dan stroke ternyata bernilai boolean/binary
  • Pada kolom target stroke terlihat data memiliki proporsi yang tidak seimbang
  • Data dinominasi (proporsi lebih dari 50% dari jumlah baris data) oleh kaum perempuan (gender), pernah menikah (ever married) dan tinggal di perkotaan (Residence_type). Dengan detail sebagai berikut:
  • Terlihat gender memiliki 3 nilai yang berbeda, sehingga kita akan menghapus 'other' dan 'Never_worked' dari kolom 'work_type' karena dapat menyulitkan model.

Hal yang dilakukan :

  • Mengubah tipe data pada kolom age menjadi integer
  • Handling skewness pada kolom age dan avg_glucose_level dengan metode boxcox
  • Drop other dan never_worked

 

Cek Outlier

Hasil Pengamatan :

  • Outlier terlihat utamanya pada kolom avg_glucose_level dan bmi

Korelasi Antar Kolom

 

Feature Encoding

Mengubah data kategorikal menjadi bernilai numerik dengan melakukan Label Encoder terhadap kolom yang memiliki nilai berbentuk binary 

 

Split Data

Memisahkan kolom yang menjadi label dan target serta memisahkan data training dan data testing yang digunakan untuk proses melatih model

 

Menangani Outliers dengan menggunakan Z-Score

Modeling

Membuat dan melatih model

 

Evaluasi Performa

Mengukur tingkat ke akurasian model

 

Kesimpulan

Berdasarkan pengujian diperoleh akurasi menggunakan model decision tree sebesar 95%.

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Dasar - Dasar Python