Number of Pages: 7
MATH unesa
Jurnal Ilmiah Matematika Volume 13 No 03
e-IS SN : 2716 -506X | p -ISSN : 2301 -9115 Tahun 20 25
120
ANALISIS AKURASI ALGORITMA K-NEAREST NEIGHBOR BERBASIS PARTICLE SWARM OPTIMIZATION PADA STUDI KASUS DIAGNOSA PENYAKIT JANTUNG
Feri Tri Setiawan
Program Studi Magister Matematika, FMIPA, Universitas Lampung, Indonesia
97feri@gmail.com *
Khoirin Nisa
Jurusan Matematika, FMIPA, Universitas Lampung, Indonesia
Mustofa Usman
Jurusan Matematika, FMIPA, Universitas Lampung, Indonesia
Abstrak
Penyakit jantung merupakan salah satu penyebab utama kematian di dunia, sehingga deteksi dini menjadi aspek krusial dalam pengambilan keputusan medis. Penelitian ini bertujuan untuk meningkatkan akurasi klasifikasi diagnosa penyakit jantung dengan menggabungkan algoritma K-Nearest Neighbor (K-NN), Particle Swarm Optimization (PSO). K-NN dipilih karena kesederhanaannya dalam klasifikasi berbasis jarak, sementara PSO digunakan untuk mengoptimalkan parameter K secara otomatis guna meningkatkan performa prediksi. Data yang digunakan bersumber dari dataset terbuka berisi 300 data pasien, yang diolah melalui tahapan preprocessing, splitting, dan evaluasi multikolinearitas. Eksperimen dilakukan dengan empat skenario pembagian data (60:40, 70:30, 80:20, dan 90:10) dan perbandingan antara metode K-NN dan KNN-PSO. Hasil pengujian menunjukkan bahwa integrasi K-NN dengan PSO menghasilkan peningkatan akurasi signifikan dibandingkan K-NN murni. Akurasi terbaik tercapai pada skenario KNN-PSO dengan 20 partikel dan rasio data training-testing 90:10 dengan nilai K = 4, menghasilkan akurasi sebesar 80%. Temuan ini menunjukkan bahwa penggunaan PSO efektif dalam optimasi parameter pada algoritma K-NN untuk klasifikasi penyakit jantung, serta memberikan potensi untuk pengembangan sistem pendukung keputusan medis yang lebih akurat.
Kata Kunci: K-Nearest Neighbor, Particle Swarm Optimization, Diagnosa Penyakit Jantung, Klasifikasi, Optimasi Parameter.
Abstract
Heart disease is one of the leading causes of death worldwide, making early detection a crucial aspect in medical decision-making. This study aims to improve the accuracy of heart disease diagnosis classification by combining the K-Nearest Neighbor (K-NN) and Particle Swarm Optimization (PSO) algorithms. K-NN was chosen due to its simplicity in distance-based classification, while PSO is used to automatically optimize the K parameter to improve prediction performance. The data used is sourced from an open dataset containing 300 patient data, which is processed through preprocessing, splitting, and multicollinearity evaluation stages. Experiments were conducted with four data sharing scenarios (60:40, 70:30, 80:20, and 90:10) and a comparison between the K-NN and KNN-PSO methods. The test results show that the integration of K-NN with PSO results in a significant increase in accuracy compared to pure K-NN. The best accuracy was achieved in the KNN-PSO scenario with 20 particles and a training-testing data ratio of 90:10 with a K value of 4, resulting in an accuracy of 80%. These findings demonstrate the effectiveness of PSO in optimizing parameters in the K-NN algorithm for heart disease classification and offer potential for developing more accurate medical decision support systems.
Keywords : K-Nearest Neighbor, Particle Swarm Optimization, Heart Disease Diagnosis, Classification, Parameter Optimization.
PENDAHULUAN
Penyakit jantung merupakan penyebab utama kematian di dunia, sebagaimana dilaporkan oleh World Health Organization (WHO) bahwa pada tahun 2019 penyakit jantung iskemik menyumbang 16% dari seluruh kematian global . Deteksi dini penyakit ini menjadi sangat penting dalam meningkatkan kualitas hidup pasien dan mengurangi risiko kematian. Namun, proses diagnosis penyakit jantung ANALISIS AKURASI ALGORITMA
121
secara manual memiliki keterbatasan dalam hal kecepatan dan akurasi. Oleh karena itu, pendekatan berbasis teknologi, khususnya machine learning, menjadi solusi yang potensial dalam mendukung pengambilan keputusan medis.
Salah satu algoritma Machine Learning yang populer untuk klasifikasi adalah K-Nearest Neighbor (K-NN). K-NN dikenal karena kesederhanaannya dan efisiensinya dalam berbagai kasus klasifikasi, termasuk diagnosis medis [1] . Namun demikian, performa K-NN sangat bergantung pada pemilihan parameter K dan jenis metrik jarak yang digunakan. Pemilihan parameter yang tidak optimal dapat menyebabkan penurunan akurasi klasifikasi dan menimbulkan masalah seperti overfitting atau underfitting.
Untuk mengatasi keterbatasan tersebut, digunakan pendekatan berbasis optimasi yaitu Particle Swarm Optimization (PSO) [2] . PSO merupakan algoritma optimasi yang terinspirasi dari perilaku sosial kawanan burung atau ikan dalam mencari makanan. Dalam konteks klasifikasi, PSO digunakan untuk mencari nilai optimal dari parameter K pada algoritma K-NN, sehingga diharapkan dapat meningkatkan akurasi dalam proses diagnosis penyakit jantung. Kombinasi K-NN dengan PSO membentuk metode hybrid yang mampu mengatasi kelemahan masing-masing algoritma [3] .
Berbagai penelitian sebelumnya menunjukkan bahwa pendekatan hybrid ini mampu meningkatkan performa prediksi secara signifikan. Misalnya, penelitian oleh Gao et al. [3] yang menggunakan metode ekstraksi ciri PCA dan Bagging Ensemble Learning dengan K-NN berhasil mencapai akurasi sebesar 98,1%. Sementara Bharti et al. [4] mencatat akurasi 94,2% menggunakan pendekatan deep learning . Oleh karena itu, penggabungan K-NN dengan PSO dalam studi ini bertujuan untuk mengeksplorasi potensi peningkatan akurasi dalam diagnosis penyakit jantung.
KAJIAN TEORI
Machine Learning adalah bidang keilmuan yang mempelajari tentang algoritma dan model statistik yang digunakan oleh sistem komputer untuk melakukan tugas tertentu tanpa instruksi eksplisit [5] . Machine Learning dapat dibedakan menjadi tiga tipe yaitu Supervised Learing, Unsupervised Learning dan Reinforcement Learning.
Sebuah metode untuk melakukan klasifikasi terhadap obyek berdasarkan data pembelajaran yang jaraknya paling dekat dengan obyek tersebut. Prinsip kerja dari K-NN adalah mencari jarak terdekat antara data yang akan dievaluasi dengan 𝑘 tetangga (neighbor) terdekatnya dalam data pelatihan [6] (lihat ilustrasi pada Gambar 1) .
Gambar 1. Kinerja Algoritma K-NN [7]
Euclidean Distance adalah perhitungan jarak dari dua buah titik dalam euclidean space untuk mempelajari hubungan antara sudut dan jarak. Euclidean ini berkaitan dengan teorema phytagoras. Perhitungan Euclidean Distance pada dua dimensi digunakan untuk dapat mengukur jarak pada koordinat lattitude dan longitude . Untuk mengukur tingkat kemiripan data dengan rumus Euclidean Distance digunakan rumus berikut:
𝑑 (𝑥 , 𝑦 ) = √∑ (𝑥 𝑖 − 𝑦 𝑖 )2 > 𝑛 > 𝑖 =1dimana,
d = jarak antara x dan y
x = data training
y = data testing
i = indeks fitur ke i
n = jumlah fitur,
𝑥 𝑖 = data training ke i
𝑦 𝑖 = data testing ke i
Ecludian Distance sering digunakan untuk menghitung jarak. Euclidian Distance berfungsi FERI TRI SETIAWAN
122
menguji ukuran yang bisa digunakan sebagai interpretasi kedekatan jarak antara dua objek [8].
Dalam klasifikasi, untuk memprediksi label kelas contoh baru, K-NN pertama menemukan k tetangga terdekatnya dari set pelatihan sesuai dengan jarak metrik dan kemudian memberikan label yang dominan antara tetangga k ke instance baru. Jika k = 1, label dari contoh baru ditentukan oleh tetangga terdekatnya. Karena yang implementasi kesederhanaan dan efektivitas klasifikasi, K-NN adalah biasa digunakan sebagai classifier standar untuk mengevaluasi dan membandingkan kinerja algoritma seleksi fitur yang berbeda dan terintegrasi ke dalam kerangka seleksi fitur untuk mengevaluasi kualitas subset fitur calon.
Algoritma PSO diperkenalkan oleh Eberhart dan Kennedy pada tahun 1995 [9]. PSO merupakan metode pencarian populasi yang terinspirasi dari pergerakan burung dan ikan dalam mencari makan. PSO banyak digunakan untuk memecahkan masalah optimasi dan masalah seleksi fitur [10 ]. Algoritma PSO adalah algoritma kecerdasan populasi based swarm yang pada awalnya diusulkan oleh Kennedy dan Eberhart dan mensimulasikan perilaku sosial organisme dengan menggunakan gerakan fisik dari individu dalam swarm.
Algoritma PSO menggunakan konsep pbest dan gbest yang mirip dengan operasi crossover pada Genetic Algorithma (GA) [1 1]. Setiap partikel diasumsikan mempunyai posisi dan kecepatan [1 2]. Algoritma PSO memperbaharui posisi dan kecepatan partikel pada setiap iterasi sehingga partikel tersebut dapat menghasilkan solusi baru yang lebih baik [1 3]. Secara matematis perbaikan ini menghasilkan persamaan berikut [1 4]:
> 𝑉 𝑖 ,𝑗 > 𝑡 +1=𝑤 .𝑉 𝑖 ,𝑗 > 𝑡 +𝑐 1𝑟 1(𝑃𝑏𝑒𝑠𝑡 𝑖 ,𝑗 > 𝑡 −𝑥 𝑖 ,𝑗 > 𝑡 )+𝑐 2𝑟 2(𝐺𝑏𝑒𝑠𝑡 𝑔 ,𝑗 > 𝑡 −𝑥 𝑖 ,𝑗 > 𝑡 )Dimana:
𝑉 𝑖 ,𝑗
𝑡 +1
: Kecepatan untuk posisi yang dicapai
𝑤 : Faktor inersia yang mengontrol pengaruh kecepatan sebelumnya.
𝑉 𝑖 ,𝑗
𝑡
: Kecepatan untuk posisi sekarang (awal)
𝑐 1𝑟 1 : Learning rate
𝑃𝑏𝑒𝑠𝑡 𝑖 ,𝑗
𝑡
: Posisi terbaik dari partikel i
𝑥 𝑖 ,𝑗
𝑡
: Posisi partikel i pada iterasi t
𝑐 2𝑟 2 : Bilangan acak antara 0 dan 1
𝐺𝑏𝑒𝑠𝑡 𝑔 ,𝑗
𝑡
: Posisi terbaik global populasi partikel
Confusion Matrix adalah pengukuran performa untuk masalah klasifikasi machine learning dimana keluaran dapat berupa dua kelas atau lebih . Confusion Matrix adalah tabel dengan 4 kombinasi berbeda dari nilai prediksi dan nilai aktual [1 5].
Berikut adalah struktur confusion matrix :
| Predicted | Actual Positive (1) | Negative (0) |
|---|---|---|
| Positive (1) | True Positive (TP) | False Negative (FN) |
| Negative (0) | False Positive (FP) | True Negative (TN) |
Tabel 1. Confusion Matrix
Penjelasan tabel Confusion Matrix di atas adalah sebagai berikut [1 6]:
- True Positive (TP) : Jumlah prediksi yang benar, dimana nilai kelas aktual positif dan diprediksi sebagai positif.
- False Negative (FN) : Jumlah prediksi yang salah, dimana nilai kelas aktual positif namun diprediksi sebagai negatif.
- False Positive (FP) : Jumlah prediksi yang salah, dimana nilai kelas aktual negatif namun diprediksi sebagai positif.
- True Negative (TN) : Jumlah prediksi yang benar, dimana nilai kelas aktual negatif dan diprediksi sebagai negatif.
Berikut adalah performance measure yang dapat diukur oleh Confusion Matrix [1 7]:
a. Accuracy
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁 > 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁b. Precision
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 > 𝑇𝑃 + 𝐹𝑃c. Recall
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 > 𝑇𝑃 + 𝐹𝑁d. Specificity
𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦 = 𝑇𝑁 > 𝑇𝑁 + 𝐹𝑃e. F1-Score
𝐹 1 − 𝑆𝑐𝑜𝑟𝑒 = 2 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜 n > (𝑅𝑒𝑐𝑎𝑙𝑙 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 )ANALISIS AKURASI ALGORITMA123
METODE
Penelitian ini menggunakan Algoritma K-Nearest Neighboar berbasis Particle Swarm Optimization pada diagnosa penyakit jantung dengan bantuan pemrograman R studio versi 4.4.1.
Data yang digunakan dalam penelitian ini adalah data sekunder yang bisa diakses melalui situs web www.kaggle.com . Data yang digunakan adalah data 300 pasien yang melakukan pemeriksaan penyakit jantung. Data penelitian ini memiliki 6 variabel sebagai atribut yaitu: usia (𝑋 1), tekanan darah (𝑋 2), kolesterol (𝑋 3), detak jantung maksimal tecapai (𝑋 4), depresi yang diakibatkan olahraga dibandingkan istriahat (𝑋 5), dan 1 atribut kategori yang berisi ada penyakit jantung atau tidak ada penyakit jantung (𝑌 ). Untuk pembagian data dibagi menjadi empat skema seperti pada Tabel 1 dan diagram alir penelitian disajikan pada Gambar 2.
| Skema | Data Training | Data Testing |
|---|---|---|
| 60% - 40% | 180 | 120 |
| 70% - 30% | 210 | 90 |
| 80% - 20% | 240 | 60 |
| 90% - 10% | 270 | 30 |
Tabel 1. Skenario Data Splitting
Gambar 2. Diagram Alir Penelitian
HASIL DAN PEMBAHASAN
Dari 4 skenario data splitting akan ditentukan skema terbaik yang memiliki nilai akurasi yang paling tinggi. Dengan mencobakan beberapa nilai K yaitu 𝑘 =1,2,..., 17, diperoleh hasil nilai akurasi tertinggi dari setiap skema seperti disajikan pada Tabel 2.
| K | Skema 1 | Skema 1 | Skema 1 | Skema 1 |
|---|---|---|---|---|
| 1 | 0,6250 | 0,6111 | 0,6000 | 0,7333 |
| 2 | 0,6083 | 0,5889 | 0,5333 | 0,7000 |
| 3 | 0,6167 | 0,5889 | 0,5500 | 0,7333 |
| 4 | 0,6500 | 0,6444 | 0,6000 | 0,7667 |
| 5 | 0,5667 | 0,6444 | 0,6667 | 0,7667 |
| 6 | 0,5500 | 0,5889 | 0,6333 | 0,8000 |
| 7 | 0,5750 | 0,5889 | 0,6333 | 0,7333 |
| 8 |


