## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142

## Meningkatkan Kemampuan Model dalam Memprediksi Penyakit Jantung dengan Algoritma NCL dan GridSearchCV
Zulfan Ahmadi, Asrul Abdullah * , Izhan Fakhruzi
Fakultas Teknik dan Ilmu Komputer, Informatika, Universitas Muhammadiyah Pontianak, Pontianak, Indonesia Email: 1 181220110@unmuhpnk.ac.id, 2,* asrul.abdullah@unmuhpnk.ac.id, 3 izhan.fakhruzi@unmuhpnk.ac.id Email Penulis Korespondensi: asrul.abdullah@unmuhpnk.ac.id
Abstrak− Penyakit jantung merupakan penyebab utama kematian di dunia. Untuk mengurangi tingkat kematian  yang tinggi ini,  diperlukan  kemampuan  prediksi  yang  akurat  dalam  memperingatkan  penderita  penyakit  jantung  untuk  mencegah  dan mengelola kondisi tersebut. Penelitian ini menggunakan model machine learning untuk memprediksi penyakit jantung. Tujuan dari penelitian ini adalah meningkatkan kemampuan model klasifikasi machine learning, yaitu Logistic Regression (LR), dalam memprediksi  penyakit  jantung.  Sehingga  kesalahan  prediksi  yang  dapat  membahayakan  pasien  dapat  berkurang  dengan signifikan. Untuk mencapai tujuan ini, penelitian dilakukan dengan dua pendekatan penting, yaitu data preparation dan model optimization. Pada tahap data preparation, ditemukan masalah ketidakseimbangan data antara penderita penyakit jantung dan non-penderita penyakit jantung. Untuk menangani masalah ini, algoritma Neighborhood Cleaning Rule (NCL) digunakan untuk memperbaiki ketidakseimbangan data. Penggunaan NCL dalam tahap data preparation memberikan dampak signifikan dalam meningkatkan performa model prediksi. Selanjutnya, pada tahap model optimization, metode GridSearchCV digunakan untuk mencari kombinasi hyperparameter terbaik pada algoritma Logistic Regression (LR). Dengan mencari hyperparameter yang optimal,  kinerja  model  prediksi  dapat  ditingkatkan.  Selain  itu,  dalam  penelitian  ini  juga  diterapkan  Weighted  Logistic Regression  yang  memungkinkan  pengaturan  bobot  kelas,  yang  juga  berkontribusi  pada  peningkatan  kinerja  model.  Hasil pengujian  model  menggunakan  metrik  evaluasi  Akurasi,  Recall,  dan  Area  Under  Curve  (AUC)  menunjukkan  peningkatan kemampuan model. Skor recall meningkat dari 0.10 menjadi 0.93, dan skor AUC meningkat dari 0.83 menjadi 0.98. Penelitian ini menggunakan dataset  yang diperoleh dari Kaggle yang berasal dari Centers for  Disease Control and Prevention (CDC). Dengan  kemampuan  prediksi  yang  lebih  baik  dalam  mengidentifikasi  penyakit  jantung,  diharapkan  dapat  memberikan peringatan dini yang akurat kepada individu yang berisiko, sehingga dapat mengurangi angka kematian akibat penyakit jantung secara signifikan.
Kata  Kunci: Penyakit  Jantung;  GridSearchCV;  Weighted  Logistic  Regression;  Neighborhood  Cleaning  Rule;  Machine Learning
Abstract− Heart  disease  is  the  main  cause  of  death  in  the  world.  To  reduce  this  high  mortality  rate,  accurate  prediction capabilities are needed in warning people with heart disease to prevent and manage this condition. This study uses a machine learning model to predict heart disease. The purpose of this research is to improve the ability of a machine learning classification model, namely Logistic Regression (LR), in predicting heart disease. So that prediction errors that can harm patients can be significantly reduced. To achieve this goal, research is carried out using two important approaches, namely data preparation and model optimization. At the data preparation stage, data imbalance problems were found between people with heart disease and non-heart disease sufferers. To deal with this problem, the Neighborhood Cleaning Rule (NCL) algorithm is used to correct data imbalances. The use of NCL in the data preparation stage has a significant impact on improving the performance of the prediction  model.  Furthermore,  at  the  model  optimization  stage,  the  GridSearchCV  method  is  used  to  find  the  best hyperparameter combination in the Logistic Regression (LR) algorithm. By finding optimal hyperparameters, the performance of the prediction model can be improved. In addition, this study also implemented Weighted Logistic Regression which allows setting  class  weights,  which  also  contributes  to  improving  model  performance.  The  results  of  testing  the  model  using  the evaluation metrics Accuracy, Recall, and Area Under Curve (AUC) show an increase in the ability of the model. The recall score increased from 0.10 to 0.93, and the AUC score increased from 0.83 to 0.98. This study used a dataset obtained from Kaggle from the Centers for Disease Control and Prevention (CDC). With better predictive ability in identifying heart disease, it is hoped that it can provide accurate early warning to individuals at risk, thereby significantly reducing mortality from heart disease.
Keywords: Heart Disease; GridSearchCV; Weighted Logistic Regression; Neighborhood Cleaning Rule; Machine Learning

## 1. PENDAHULUAN
Penyakit Jantung adalah penyakit yang sering terjadi pada masyarakat tanpa memandang usia, jenis kelamin, dan gaya hidup[1]. Menurut World Health Organization (WHO), penyakit jantung menyebabkan 17,7 juta kematian setiap tahunnya, menjadikannya penyakit paling mematikan di dunia[2]. Riset Kesehatan Dasar (Riskesdas) tahun 2018, angka kejadian penyakit jantung dan pembuluh darah semakin meningkat dari tahun ke tahun. Setidaknya, 15  dari  1000  orang,  atau  sekitar  2.784.064  individu  di  Indonesia  menderita  penyakit  jantung[3].  Proyeksi menunjukkan bahwa angka kematian akibat penyakit jantung akan terus meningkat dan diperkirakan mencapai 23,3 juta pada tahun 2030[2][4].
Pasien  penyakit  jantung  sering  tidak  mengetahui  gejala  awalnya,  dan  banyak  yang  meninggal  karena serangan  jantung[5].  Terdapat  banyak  cara  untuk  mencegah  serangan  penyakit  jantung,  sebelum  mencoba mencegahnya, perlu untuk mengetahui ada atau tidak penyakit jantung pada pasien. Mendeteksi penyakit jantung secara dini memerlukan  pemeriksaan  yang membutuhkan waktu  dan biaya  yang tidak sedikit. Oleh karena itu, Machine Learning (ML) dapat menjadi solusi untuk deteksi dini penyakit jantung pada pasien tanpa membutuhkan

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
waktu  dan  biaya  yang  besar.  Karena  ML  juga  merupakan  cabang  kecerdasan  buatan  yang  semakin  banyak digunakan dalam bidang pengobatan kardiovaskular[6].
Namun, tantangan utama dalam ML adalah data yang buruk atau algoritma yang buruk. Dataset kesehatan sering  memiliki  ketidakseimbangan,  di  mana  jumlah  pasien  dengan  penyakit  jauh  lebih  sedikit  dibandingkan dengan  pasien  tanpa  penyakit[7].  Ketidakseimbangan  ini  dapat  mempengaruhi  kinerja  model,  yang  cenderung lebih baik dalam memprediksi pasien tanpa penyakit. Hal ini berpotensi membahayakan pasien karena kesalahan klasifikasi.  Dalam  bidang  kesehatan,  kesalahan  klasifikasi  tersebut  dapat  sangat  membahayakan  pasien.  Oleh karena itu kemampuan model dalam mengklasifikasi perlu ditingkatkan dan dioptimalisasikan.
Seperti pada penelitian yang dilakukan Izhan[7], Menangani ketidakseimbangan kelas dapat meningkatkan kemampuan algoritma dalam memprediksi penyakit dengan baik. Dataset  yang digunakan dalam  penelitian ini memiliki masalah kelas yang tidak seimbang, apabila tidak ditangani hal ini dapat menyebabkan model memiliki akurasi yang buruk. Pendekatan dalam penelitian sebelumnya menggunakan pendekatan tingkat algoritma yaitu menerapkan  algoritma  bagging  untuk  mengatasi  ketidakseibangan  kelas  sehingga  dapat  meningkatkan kemampuan  model.  Sedangkan  penelitian  ini  tidak  hanya  menerapkan  pendekatan  tingkat  algoritma  tapi  juga menerapkan pendekatan tingkat data[8] dengan melakukan undersampling pada dataset menggunakan algoritma Neighborhood Cleaning Rule (NCL).
Model  pada  penelitian  ini  menerapkan  algoritma  Regresi  logistik  (LR)  sebagai  metode  yang  memiliki kedudukan kuat untuk supervised-classification[9]. Kemampuan metode ini dalam memprediksi penyakit jantung telah teruji dari penelitian terdahulu yang telah dilakukan oleh Putra,dkk[10] dalam memprediksi penyakit jantung menggunakan  algoritma  klasifikasi  termasuk  Logistic  Regression  dengan  hasil  akurasi  sebesar  82,59%. Pembangunan model dilakukan dengan bahasa pemrograman Python. Bahasa pemrograman Python mendirikan dirinya sebagai salah satu bahasa paling populer untuk komputasi ilmiah[11].
Penelitian  ini  bertujuan  untuk  meningkatkan  kemampuan  klasifikasi  model  ML  dengan  menggunakan algoritma NCL dan mengoptimalkan hyperparameter model menggunakan metode Grid Search Cross Validation (GridSearchCV)[12]. Pembobotan kelas pada model regresi logistik juga diterapkan untuk menghindari pengaruh buruk ketidakseimbangan kelas yang tidak dapat sepenuhnya ditangani oleh algoritma NCL. Model untuk prediksi penyakit  jantung  akan  diaplikasikan  pada  website.  Model  menerima  masukan  data  baru  melalui  antarmuka berbasis web untuk menghasilkan hasil prediksi apakah seseorang memiliki penyakit jantung atau tidak. Hal ini akan mempermudahkan penggunaan model.

## 2. METODOLOGI PENELITIAN

## 2.1 Tahapan Penelitian
Tahap-tahapan penelitian dirancang seperti yang ditunjukkan pada Gambar 1. Berikut merupakan penjelasan mengenai tahapan penelitian yang dilakukan untuk mencapai tujuan penelitian.

## Gambar 1. Diagram Metode Penelitian
Tahapan utama dalam metode penelitian tersusun dari pengumpulan data, persiapan data (data preparation), optimalisasi model (model optimization), pelatihan model, evaluasi model, model deployment. Pada tahap seperti persiapan  data,  optimalisasi  model  dan  evaluasi  model.  Terdapat  beberapa  proses  yang  diliputi  oleh  tahapan- tahapan tersebut.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142

## 2.2 Pengumpulan Data
Data yang digunakan pada penelitian ini berasal dari Kaggle. Data ini bernama ‘Personal Key Indicators of Heart Disease’. Sebelum diterbitkan di kaggle data ini berasal dari CDC (Centers for Disease Control and Prevention), dan merupakan sebuah bagian besar dari Behavioral Risk Factor Surveillance System (BRFSS). CDC mengadakan survei telepon setiap tahun untuk mengumpulkan data mengenai status kesehatan penduduk Amerika Serikat[13]. Fitur data yang digunakan dapat dilihat pada Tabel 1 data dictionary berikut ini.
Tabel 1. Data Dictionary Dataset Penyakit Jantung No Nama Attribute Tipe Data 1. Heart Disease Kategorik - Biner 2. Body Mass Index Numerik - Kontinu 3. Smoking Kategorik - Biner 4. AlcoholDrinking Kategorik - Biner 5. Stroke Kategorik - Biner 6. PhysicalHealth Numerik - Diskrit 7. MentalHealth Numerik - Diskrit 8. DiffWalking Kategorik - Biner 9. Sex Kategorik - Biner 10. AgeCategory Kategorik - Nominal 11. Race Kategorik - Nominal 12. Diabetic Kategorik - Biner 13. PhysicalActivity Numerik - Diskrit 14. GenHealth Kategorik - Ordinal 15. SleepTime Numerik - Diskrit 16. Asthma Kategorik - Biner 17. KidneyDisease Kategorik - Biner 18. SkinCancer Kategorik - Biner

## 2.3 Data Preparation (Persiapan Data)
Persiapan data atau biasa disebut Data preprocessing adalah proses mengubah data mentah menjadi format bersih dan terstruktur yang cocok untuk dianalisis dengan algoritme machine learning[14]. Tahap ini merupakan tahap dimana  data  dipersiapkan  terlebih  dahulu  sebelum  diberikan  pada  model  untuk  dilatih.  Mempersiapkan  data semaksimal mungkin sebelum diberikan pada model merupakan hal dasar dalam bidang data mining. Data Mining merupakan suatu metode pengolahan data  untuk  menemukan  pola  atau  hubungan  yang tersembunyi dari data tersebut[15][16]. Fase persiapan data terbagi menjadi dua tahap; tahap pertama adalah Exploratory Data Analysis (EDA) dan tahap kedua adalah data pre-processing. EDA terlebih dahulu dilakukan untuk lebih memahami setiap fitur pada dataset  yang digunakan. Setelah hasil EDA diperoleh, menggunakan hasil tersebut data dipersiapkan dan  ditransformasi  pada  tahap  data  preprocessing.  Tahap  data  preprocessing  tersusun  dari  proses  seleksi  fitur sampai standarisasi.
a. Exploratory Data Analysis (EDA): EDA dilakukan dalam dua tahap yaitu univariate analysis dan multivariate analysis. Univariate analysis dilakukan pada fitur dataset yang mana hanya satu fitur yang terlibat. Sedangkan multivariate analysis, analisis ini menerlibatkan lebih dari dua fitur untuk mengetahui hubungan atau korelasi antar fitur pada data.
b. Feature Selection:  Pada  tahap ini fitur dipilih berdasarkan nilai  korelasi Pearson Correlation  antar  fitur dan label. Nilai tersebut diperoleh menggunakan metode Pearson Correlation. Selain itu, pemeriksaan fitur yang penting untuk model juga dilakukan dengan algoritma seleksi fitur RFE (Recursive Feature Elemination). RFE adalah algoritma pemilihan fitur tipe pembungkus yang mengidentifikasi kombinasi fitur yang optimal melalui pembuatan  serangkaian  model  klasifikasi  dan  secara  iteratif  menghilangkan  fitur  yang  tidak  meningkatkan akurasi klasifikasi[17].
c. Feature Engineering: Pada tahap ini fitur yang teridentifikasi memiliki tipe data kategorik akan ditransformasi menjadi tipe data numerik sesuai dengan format pada data.
d. Menangani Outliers: Setelah memperoleh informasi mengenai outliers saat analisis data dengan menggunakan box plot. Outliers ditangani dengan merubah nilai-nilai nya menjadi nilai median pada fitur yang ditangani.
e. Menangani  Imbalance:  Imbalance  data  ditangani  dengan  data-level  approaches.  Pendekatan  penanganan imbalance  ini  dilakukan  secara  langsung  pada  data[8].  Penanganan  ketidakseimbangan  dilakukan  dengan menggunakan  algoritma  undersampling  untuk  mengurangi  kelas  label  yang  mayoritas  sehingga  tercapai keseimbangan  pada  label  kelas.  Algoritma  undersampling  yang  digunakan  adalah  Neighborhood  Cleaning Rule (NCL).
f. Standarisasi:  Standarisasi  data  dilakukan  untuk  membantu  mendapatkan  distribusi  standar.  Standarisasi dilakukan  menggunakan  fungsi  StandardScaler  yang  berasal  dari  pustaka  scikit-learn.  Scikit-learn

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
memaparkan  berbagai  algoritma  pembelajaran  mesin,  baik  yang  supervised  dan  unsupervised[11].  Berikut merupakan rincian fungsi yang dilakukan StandardScaler dalam melakukan skala standardisasi pada data:
𝓏  = ( 𝓍 − 𝜇 ) 𝜎 (1)
Pengurangan nilai rata-rata ( 𝜇) dari fitur ( 𝓍 ) dan kemudian membagi hasilnya dengan standar deviasi fitur ( 𝜎) dapat menghasilan fitur yang distandardisasi ( 𝓏) .

## 2.4 Model Optimization (Optimalisasi Model)
Tahap  ini  dilakukan  dengan  tujuan  untuk  mengoptimalkan  kemampuan  model  dalam  mempelajari  data  latih. Optimalisasi model dilakukan dengan menentukan nilai hyperparameter sebelum melatih model. GridSearch CV merupakan  sebuah  metode  yang  digunakan  untuk  mencari  nilai  hyperparameter  terbaik.  Metode  ini  membantu dalam memperoleh estimasi kinerja generalisasi yang lebih akurat[12]. GridSearch secara automatis mencari nilai hyperparameter terbaik dengan cara melatih dan mengevaluasi model sesuai dengan grid parameter yang telah di definisikan sebelumnya.
GridSearch menerapkan cross-validation yang merupakan sebuah teknik matematika yang secara khusus digunakan  untuk  memeriksa  dan  memvalidasi  algoritma  atau  model  pembelajaran  dengan  mempartisi  data  ke dalam set pembelajaran untuk melatih model dan set pengujian untuk mengevaluasinya[18][19]. Melalui proses analisis  pada data, label  pada data memiliki kelas  yang tidak seimbang. Sehingga sebelum model dilatih, class weight pada logistic regression disesuaikan untuk membantu mengatasi masalah label kelas yang tidak seimbang. Metode  dalam  mengatasi  ketidakseimbangan  kelas  melalui  class  weight  termasuk  pada  Algorithm  level approaches[8]. Grid Parameter didefinisikan seperti yang terlihat pada Tabel 2.
Tabel 2. Mendefinisi Grid Parameter Nomor Nama Hyperparameter Nilai Hyperparameter 1. Penalty atau Regularization [‘l2’, ‘none’] 2. C atau Regularization strength np.logspace(-4, 4, 20) 3. Solver [‘lbfgs’, ‘newton-cg’, ‘sag’] 4. Max_iter [100, 1000, 2500, 5000] 5. Class_weight {0: 0.3, 1:0.7}

## 2.5 Pelatihan Model
Logistic  Regression  (LR)  merupakan  algoritma  yang  dapat  menyelesaikan  masalah  klasifikasi  supervised- learning. Supervised learning  membutuhkan pelatihan dengan data berlabel  yang memiliki  masukan dan target keluaran[18].  Klasifikasi  melakukan  pembangunan  model  berdasarkan  data  latih  yang  ada,  kemudian menggunakan model tersebut untuk mengklasifikasikan pada data yang baru[20]. Lebih baik jika terdapat gambar dan tabel, itu harus disajikan dengan nama tabel dan gambar yang disertai dengan nomor urut. Proses pelatihan pada model dilakukan mengikuti proses pada tahap model evaluation yaitu tahap awal, menengah, dan akhir.

## 2.6 Model Evaluation (Evaluasi Model)
Tujuan evaluasi model dilakukan untuk mengetahui performa model dalam melakukan prediksi. Selama proses eksperimen  evaluasi  model  dibagi  menjadi  tiga  tahap  yaitu  tahap  awal,  menengah,  dan  akhir.  Evaluasi  model dilakukan  dengan  menggunakan  confusion  matrix  sebagai  basis  alat  evaluasi.  Berdasarkan  confusion  matrix diperoleh metrik evaluasi akurasi, recall dan ROC/AUC (area under curve). AUC merupakan area yang berada dibawah garis ROC (Receiver Operating Characteristic). ROC adalah kurva linier sepenggal yang memplot true positive rate terhadap false positive rate[21]. Skor AUC bernilai 0.5 – 1, semakin mendekati 1 maka semakin baik nilai skor. Tahapan evaluasi model dapat dilihat pada Gambar 2.
Melatih mod el den gan raw d ata Melatih mod el setelah data prep aration Melatih mod el setelah data prep aratio n dan op timisasi mod el Tahap awal evaluasi Tahap men en gah evaluasi Tahap akhir evaluasi
Gambar 2. Tahapan pada Evaluasi Model

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
Evaluasi  dibagi  secara  bertahap  ini  dilakukan  untuk  mempermudah  dalam  mengamati  pengaruh  setiap proses  data  preparation  dan  model  optimization  berikan  pada  model.  Gambar  3  dibawah  menunjukkan  bentuk confusion matrix sebagai salah satu metode evaluasi.
Gambar 3. Metode Evaluasi Confusion Matrix

## 2.7 Model Deployment
Penyebaran model adalah fase pengintegrasian model machine learning ke dalam lingkungan produksi yang dapat digunakan untuk membuat prediksi pada data baru yang tidak terlihat. Pada fase ini model yang telah disimpan akan  diterapkan  pada  website.  Antarmuka  website  dibangun  dengan  bahasa  pemrograman  Python  dan  web framework Streamlit.

## 3. HASIL DAN PEMBAHASAN
Bagian  ini  menunjukkan  hasil  setiap  tahapan  yang  sudah  dijelaskan  pada  bagian  metode  mulai  dari  data preparation, model optimization dan model evaluation.

## 3.1 Data Preparation
Hasil pada tahap data preparation mulai dari proses EDA, feature selection, feature engineering, menangani outlier, menangani imbalance data dan standarisasi data.
a. Exploratory  Data  Analysis  (EDA):  Hasil  yang  diperoleh  saat  melakukan  univariate  analysis  pada  dataset penyakit jantung yang digunakan adalah label kelas yang tidak seimbang seperti pada Gambar 4 berikut.

## Gambar 4. Imbalance Data pada Kelas Label
Multivariate analysis dilakukan untuk mencari korelasi antara variabel menggunakan Pearson’s correlation dan ditampilkan dengan heatmap. Semakin nilai korelasi mendekati 0 semakin tidak ada korelasi antara variabel tersebut.  Nilai  korelasi  mendekati  1  disebut  korelasi  positif,  sedangkan  nilai  korelasi  mendekati  -1  disebut korelasi negatif. Heatmap yang menampilkan nilai korelasi koefisien antar variabel dapat dilihat pada Gambar 5.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
Berdasarkan hasil EDA tersebut, label kelas pada dataset memiliki ketidak seimbangan yang besar dan ada 4 fitur yang memiliki korelasi yang sangat rendah (mendekati 0) terhadap label yaitu; Mental Health, Race dan Sleep Time.
b. Feature  Selection:    Berdasarkan  RFE,  diperoleh  8  dari  17  fitur  dengan  nilai  kepentingan  tertinggi  yaitu; 'Smoking', 'AlcoholDrinking', 'Stroke', 'DiffWalking', 'Sex','GenHealth', 'KidneyDisease', 'SkinCancer'. Selain itu, melalui pemeriksaan korelasi fitur dengan Pearson Correlation keputusan diambil untuk menghapus fitur- fitur  dengan  korelasi  yang  rendah  agar  dapat  mengurangi  sumber  daya  yang  digunakan  saat  melatih  dan menguji model. Fitur-fitur yang di hapus adalah Mental Health, Race dan Sleep Time.
c. Feature Engineering: Setelah seleksi fitur, fitur dengan nilai kategorik akan diubah menjadi numerik. Karena model logistic regression hanya menerima tipe data numerik sebagai masukan. Perubahan tipe data dilakukan menggunakan label encoding. Untuk fitur seperti ‘GenHealth’ dan ‘AgeCategory’ encoding dilakukan secara manual seperti yang dideskripsikan pada Tabel 3.
Tabel 3. Deskripsi Encode Fitur Secara Manual Nomor Nama Fitur Deskripsi Encode 1. GenHealth Poor     : 4 Fair      : 3 Good    : 2 Very good : 1 Excellent : 0 2. AgeCategory 55-59 : 57 80 or older : 80 65-69 : 67 75-79 : 77 40-44 : 42
70-74 : 72 60-64 : 62 50-54 : 52 45-49 : 47
18-24 : 21 35-39 : 37 30-34 : 32 25-29 : 27
d. Menangani Outliers: Fitur dengan outliers yang perlu ditangani adalah fitur BMI. Nilai pada fitur BMI yang dianggap outliers adalah nilai yang berada pada titik diatas upper fence 40.79 dan dibawah lower fence 13.12 seperti yang terlihat pada Gambar 6.
Gambar 6 . Boxplot BMI Sebelum Outliers Ditangani
Setiap nilai yang melewati titik tersebut diubah menjadi nilai median 26.57. Hasil perubahan tersebut merubah bentuk boxplot fitur BMI seperti yang terlihat pada Gambar 7.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
e. Menangani  Imbalance:  Label  pada  kelas  yang  tidak  seimbang  akan  ditangani  menggunakan  teknik undersampling  Neighborhood  Cleaning  Rule  (NCL).  Sehingga,  kelas  label  yang  mayoritas  akan  berkurang jumlahnya untuk mengurangi ketidakseimbangan yang besar pada label dataset. Karena jumlah imbalance data yang  sangat  besar  NCL  dilakukan  dua  kali  berturut-turut.  Sehingga,  kelas  label  0  yang  awalnya  berjumlah 291835  menjadi  91220. Setelah  melalui  undersampling,  persentasi  perbandingan  antara  label  kelas  0  dan  1 yang awalnya 92% dan 8% menjadi sebesar 78% dan 22%.

## 3.2 Model Optimization
Optimalisasi model dilakukan melalui hyperparameter tuning pada model logistic regression dengan menggunakan nilai hyperparameter terbaik saat melatih model. Hyperparameter tuning dilakukan dengan menggunakan train- validation dataset. Nilai hyperparameter terbaik tersebut diperoleh menggunakan metode GridSearchCV seperti yang terlihat pada Tabel 4.
Tabel 4. Hasil Parameter Terbaik GridSearchCV
No Nama Hyperparameter Nilai Hyperparameter 1. C atau Regularization strength 4.281332398719396 2. Max_iter 100 3. Penalty atau Regularization ‘l2’ 4. Solver ‘lbfgs’ 5. Class Weight ‘0: 0.25, 1:0.75’
Nilai hyperparameter terbaik yang diperoleh akan digunakan saat melatih model menggunakan train-test dataset

## 3.3 Model Evaluation
Pada pengujian model ini menggunakan confusion matrix dan tiga metrik evaluasi yaitu akurasi, recall dan area under curve (AUC). Alat pengukur performa model yang paling penting adalah confusion matrix, recall dan AUC. Hasil  performa  model  akan  ditampilkan  sesuai  tahap  awal  sampai  akhir  seperti  yang  telah  ditentukan.  Hasil evaluasi model tahap data preparation dapat dilihat pada Tabel 5.
Tabel 5. Hasil Evaluasi Model Tahap Data Preparation No Proses Data Preparation Metrik Evaluasi Skor 1. Seleksi Fitur Akurasi Latih 0.92 Akurasi Uji 0.91 Recall 0.10 AUC 0.83 2. Menangani Imbalance Akurasi Latih 0.96 Akurasi Uji 0.96 Recall 0.89 AUC 0.98 3. Menangani Outliers Akurasi Latih 0.96 Akurasi Uji 0.96 Recall 0.89 AUC 0.98
Pada  proses  data  preparation,  menangani  imbalance  pada  data  memberikan  dampak  yang  sangat  besar terhadap peningkatan kemampuan model. Sehingga, kemampuan model dalam memprediksi label kelas 1 yang minoritas sangat meningkat. Selanjutnya hasil evaluasi tahap optimalisasi model dapat dilihat pada Tabel 6.
Tabel 6. Hasil Evaluasi Tahap Optimalisasi Model Metrik Evaluasi Skor Akurasi Latih 0.95 Akurasi Uji 0.95 Recall 0.93 AUC 0.98
Setelah  memperoleh  nilai  hyperparameter  terbaik  melalui  GridSearchCV,  model  dilatih  dan  diuji menggunakan  nilai  tersebut.  Hasil  evaluasi  pada  Tabel  6  diperoleh  dengan  menggunakan  dataset  telah  melalui tahap data preparation saat pelatihan model. Selanjutnya hasil evaluasi pada setiap tahap dapat dilihat pada Tabel 7.

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
Tabel 7. Hasil Evaluasi Setiap Tahap
No Proses Metrik Evaluasi Skor 1. Tahap awal pengujian Akurasi Latih 0.92 Akurasi Uji 0.91 Recall 0.10 AUC 0.83 2. Tahap menengah pengujian Akurasi Latih 0.96 Akurasi Uji 0.96 Recall 0.89 AUC 0.98 3. Tahap akhir pengujian Akurasi Latih 0.95 Akurasi Uji 0.95 Recall 0.93 AUC 0.98
Tabel  7  menunjukkan  hasil  evaluasi  model  secara  bertahap  yang  mana  setiap  tahap  menghasilkan peningkatan yang signifikan. Metrik evaluasi yang paling dapat dipercayai saat data yang digunakan untuk melatih model memiliki ketidakseimbangan kelas adalah recall dan AUC. Pada Gambar 8 dapat dilihat bahwa skor Recall sebelum peningkatan dan setelah peningkatan memiliki peningkatan yang besar dari 0.101 ke 0.9311.
Gambar 8 . Diagram Peningkatan Skor Recall Model
Pada  Gambar  9  menunjukkan  performa  model  tahap  awal  yang  langsung  dilatih  dengan  data  mentah. Jumlah data pada Gambar 8 berjumlah 63959. Jumlah data tersebut jauh lebih besar dibandingkan dengan Gambar 9 karena dataset belum melalui penanganan data yang tidak seimbang menggunakan teknik undersampling. Hasil evaluasi model sebelum peningkatan dalam bentuk confusion matrix dapat dilihat pada Gambar 9.
Kemampuan model pada tahap awal dalam memprediksi label 1 penyakit jantung sangatlah buruk. Kondisi prediksi model memiliki 5026 false negative (FN) dan hanya 566 true positive (TP), walaupun kemampuan model dalam  memprediksi  label  0  tanpa  penyakit  jantung  sangatlah  baik  dengan  true  negative  (TN)  57866  dan  false
0,101 0,9311 0 0,2 0,4 0,6 0,8 1 Recall Peningkatan Skor Recall Model Logistic Regression Sebelum peningkatan Setelah peningkatan

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
positive (FP) hanya 501. Hasil evaluasi model setelah peningkatan dalam bentuk confusion matrix dapat dilihat pada Gambar 10.
Gambar 10 . Hasil Evaluasi Model Setelah Peningkatan
Pada Gambar 10 menunjukkan performa model setelah data preparation dan optimalisasi model dalam tabel confusion matrix. Jumlah datanya jauh lebih sedikit karena telah melalui  penanganan ketidakseimbangan kelas dengan algoritma undersampling. Model menunjukkan kemampuan yang jauh lebih baik dalam memprediksi label 1 dibandingkan dengan kemampuan model pada Gambar 9. Model mampu memperoleh true positive (TP) sebesar 5041 dari false negative (FN) 373 dari jumlah total data aktual positif (P) 5414.
Pada Tabel 7 Model  yang dilatih apa adanya  pada tahap awal memiliki skor recall 0.10 dan AUC 0.83. namun setelah melalui data preparation dan optimalisasi model, terjadi peningkatan signifikan dengan skor recall sebesar 0.93 dan AUC 0.98. Peningkatan performa keseluruhan model yang besar diperoleh dari tahap penanganan data  yang  tidak  seimbang  dengan  undersampling  dan  diikuti  oleh  optimalisasi  model  dengan  hyperparameter tuning pada class_weight yang diatur menjadi {0: 0.25, 1:0.75}.

## 3.4 Model Deployment
Penyebaran model dilakukan dengan menerapkan model pada website.  Hal  ini dilakukan untuk  mempermudah dalam  menerima  sampel  masukkan  data  baru.  Selain  itu,  juga  untuk  mempermudah  pengguna  lain  dalam menggunakan model. Tampilan antarmuka aplikasi web untuk penggunaan model dapat dilihat pada Gambar 11.
Gambar 11 . Tampilan Antarmuka Aplikasi Web
Antarmuka web pada gambar 10 dibuat dengan menggunakan Streamlit sebagai web framework. Keluaran prediksi  yang  dihasilkan  pada  aplikasi  berupa  kalimat  ‘Anda  Mempunyai  Kemungkinan  Probabilitas  Memiliki Penyakit  Jantung’  bila  keluaran  label  1,  dan  ‘Anda  Mempunyai  Kemungkinan  Probabilitas  Tidak  Memiliki Penyakit Jantung’ bila keluaran label 2. Data masukan yang diterima melalui antarmuka dideskripsikan pada Tabel 8.
Tabel 8. Deskripsi Form Input Data Aplikasi Web No Data Deskripsi 1. BMI Masukkan Body Mass Index anda. 2. Perokok Apakah Anda telah merokok paling sedikit 100 rokok

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
No Data Deskripsi sepanjang hidup anda? 3. Alkoholik Apakah anda seorang pria peminum alkohol lebih dari 14 minuman setiap minggu, atau apa anda wanita peminum alkohol lebih dari 7 minuman setiap minggu? 4. Stroke Pernah dibilang punya atau tahu ada penyakit Stroke? 5. Kesehatan Fisik Tentang kesehatan fisik anda, termasuk penyakit fisik atau luka, sudah berapa hari semenjak 30 hari terakhir kesehatan fisik anda tidak baik? (0-30 hari). 6. Kesulitan Berjalan Apa anda mempunyai kesulitan serius dalam berjalan atau menaiki tangga? 7. Jenis Kelamin Jenis Kelamin Anda. 8. Umur Masukan umur anda. 9. Diabetes Pernah dibilang punya atau tahu ada penyakit Diabetes? 10. Aktivitas Fisik Pernah melakukan aktivitas fisik atau olahraga dalam 30 hari terakhir selain pekerjaan biasa anda? 11. Kesehatan Katakan seberapa baik secara umum kesehatan anda? (Buruk - Baik Sekali). 12. Asthma Pernah dibilang punya atau tahu ada penyakit Asthma? 13. Ginjal Pernah dibilang punya atau tahu ada penyakit Ginjal? 14. Kanker Kulit Pernah dibilang punya atau tahu ada penyakit Kanker Kulit?

## 4. KESIMPULAN
Pembangunan model Logistic Regression dilakukan melalui proses pelatihan dengan dataset yang dipisah menjadi data  pelatihan  dan  uji.  Model  yang  dibangun  sebelum  tahap  persiapan  data  dan  optimalisasi  model  dilakukan merupakan model tahap awal  yang melalui proses evaluasi tahap awal dengan skor Recall yang rendah sebesar 0.10 dan AUC  0.83. Untuk dapat  menangani  hasil  evaluasi skor recall  yang sangat  rendah, kemampuan model tersebut  ditingkatkan  melalui  tahap  persiapan  data  dan  optimalisasi  model.  Penanganan  imbalance  data menggunakan  algoritma  Neighborhood  Cleaning  Rule  dan  pembobotan  kelas  pada  algoritma  LR  memberikan dampak peningkatan terbesar. Setelah imbalance data ditangani pada tahap persiapan data, model  LR memiliki peningkatan  skor  recall  dari  0.10  ke  0.89  dan  AUC  dari  0.83  ke  0.98.  Tahap  optimalisasi  model  juga  dapat meningkatkan  performa  model.  Optimalisasi  model  dilakukan  dengan  menggunakan  GridsearchCV.  Setelah hyperparameter  tuning  dengan  GridsearchCV  skor  recall  meningkat  dari  0.89  ke  0.93.  Hyperparameter class_weight memberikan pengaruh terbesar dalam peningkatan saat tahap optimalisasi model karena membantu mengurangi pengaruh buruk yang diberikan dataset tidak seimbang pada model.

## REFERENCES
[1] R.  Annisa,  “ANALISIS  KOMPARASI  ALGORITMA  KLASIFIKASI  DATA  MINING  UNTUK  PREDIKSI PENDERITA PENYAKIT JANTUNG,” J. Tek. Inform. Kaputama, vol. 3, pp. 22–28, 2019.
[2] and S. S. M. N, R. A, R. S., “Karakteristik Dan Prevalensi Risiko Penyakit Kardiovaskular Pada Tukang Masak Warung Makan Di Wilayah Kerja Puskesmas Tamalanrea,” J. Kesehat., vol. 11, pp. 30–38, 2018.
[3] A.  I.  Ayu,  E.  Widiastuti,  R.  Cholidah,  G.  W.  Buanayuda  and  I.  B.  Alit,  “Deteksi  Dini  Faktor  Risiko  Penyakit Kardiovaskuler pada Pegawai Rektorat Universitas Mataram,” J. Pengabdi. Magister Pendidik. IPA, vol. 4, pp. 137–142, 2021.
[4] Kemenkes RI, “Cardiovasular Diseases Guideline,” p. 32, 2009.
[5] A. B. Wibisono and A. Fahrurozi, “Perbandingan Algoritma Klasifikasi Dalam Pengklasifikasian Data Penyakit Jantung Koroner,” J. Ilm. Teknol. dan Rekayasa,” vol. 24, pp. 161–170, 2019.
[6] C. Krittanawong et al., “Machine learning prediction in cardiovascular diseases: a meta-analysis,” Sci. Rep., vol. 10, no. 1, pp. 1–11, 2020, doi: 10.1038/s41598-020-72685-1.
[7] I. Fakhruzi, “An artificial neural network with bagging to address imbalance datasets on clinical prediction,” 2018 Int. Conf.  Inf.  Commun.  Technol.  ICOIACT  2018,  vol.  2018-Janua,  no.  1,  pp.  895–898,  2018,  doi: 10.1109/ICOIACT.2018.8350824.
[8] A.  Fernández,  S.  García,  M.  Galar,  R.  C.  Prati,  B.  Krawczyk,  and  F.  Herrera,  Learning  From  Imbalanced  Data  Sets. Springer US, 2018. doi: 10.1007/978-3-319-98074-4_5.
[9] S. Uddin, A. Khan, M. E. Hossain, and M. A. Moni, “Comparing different supervised machine learning algorithms for disease prediction,” BMC Med. Inform. Decis. Mak., vol. 19, no. 1, pp. 1–16, 2019, doi: 10.1186/s12911-019-1004-8.
[10]  P. D. Putra and D. P. Rini, “Prediksi Penyakit Jantung dengan Algoritma Klasifikasi,” Pros. Annu. Res. Semin. 2019, vol. 5, no. 1, pp. 978–979, 2019.
[11]  F. Pedregosa et al., “Scikit-learn: Machine Learning in Python,” J. Mach. Learn. Res., vol. 12, no. 85, pp. 2825–2830, 2011, [Online]. Available: http://jmlr.org/papers/v12/pedregosa11a.html
[12]  Z. M. Alhakeem, Y. M. Jebur, S. N. Henedy, H. Imran, L. F. A. Bernardo, and H. M. Hussein, “Prediction of Ecofriendly Concrete  Compressive  Strength  Using  Gradient  Boosting  Regression  Tree  Combined  with  GridSearchCV

## JURNAL MEDIA INFORMATIKA BUDIDARMA
ISSN 2614-5278 (media cetak), ISSN 2548-8368 (media online) Available Online at https://ejurnal.stmik-budidarma.ac.id/index.php/mib DOI: 10.30865/mib.v7i4.6142
Hyperparameter-Optimization Techniques,” Materials (Basel)., vol. 15, no. 21, p. 7432, 2022, doi: 10.3390/ma15217432. [13]  “Personal Key Indicators of Heart Disease,” 2022.
[14]  Anikakapoor, “ML | Data Preprocessing in Python,” GeeksforGeeks, 2023.
[15]  F. S. Pamungkas, B. D. Prasetya, and I. Kharisudin, “Perbandingan Metode Klasifikasi Supervised Learning pada Data Bank Customers Menggunakan Python,” Prism. Pros. Semin. Nas. Mat., vol. 3, pp. 692–697, 2020.
[16]  R. Ordila, R. Wahyuni, Y. Irawan, and M. Yulia Sari, “PENERAPAN DATA MINING UNTUK PENGELOMPOKAN DATA  REKAM  MEDIS  PASIEN  BERDASARKAN  JENIS  PENYAKIT  DENGAN  ALGORITMA  CLUSTERING (Studi  Kasus :  Poli  Klinik  PT.Inecda),”  J.  Ilmu  Komput.,  vol.  9,  no.  2,  pp.  148–153,  2020,  doi: 10.33060/jik/2020/vol9.iss2.181.
[17]  C.  A.  Ramezan,  “Transferability  of  Recursive  Feature  Elimination  (RFE)-Derived  Feature  Sets  for  Support  Vector Machine Land Cover Classification,” Remote Sens., vol. 14, no. 24, 2022, doi: 10.3390/rs14246218.
[18]  S. Farhad Khorshid and A. Mohsin Abdulazeez, “Breast Cancer Diagnosis Based on K-Nearest Neighbors: a Review,” J. Archaeol. Egypt/Egyptology, vol. 18, no. 4, pp. 1927–1951, 2021.
[19]  R. D. King, O. I. Orhobor, and C. C. Taylor, “Cross-validation is safe to use,” Nat. Mach. Intell., vol. 3, no. 4, p. 276, 2021, doi: 10.1038/s42256-021-00332-z.
[20]  D. P. Utomo and M. Mesran, “Analisis Komparasi Metode Klasifikasi Data Mining dan Reduksi Atribut Pada Data Set Penyakit Jantung,” J. Media Inform. Budidarma, vol. 4, no. 2, p. 437, 2020, doi: 10.30865/mib.v4i2.2080.
[21]  T.  Gneiting  and  E.  M.  Walz,  “Receiver  operating  characteristic  (ROC)  movies,  universal  ROC  (UROC)  curves,  and coefficient of predictive ability (CPA),” Mach. Learn., vol. 111, no. 8, pp. 2769–2797, 2022, doi: 10.1007/s10994-021- 06114-3.