Anda di halaman 1dari 8

1.

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


ISSN ONLINE. 2599-2546; ISSN Cetak. 2087-2590

Penerapan Algoritma Klasifikasi K-Nearest Neighbor


pada Penyakit Diabetes
Nurul Azizah1, Muhamad Riyad Firdaus2, Resti Suyaningsih3, Fajar Indrayatna4
Universitas Padjadjaran1,2,3,4
nurul21011@mail.unpad.ac.id , muhamad21004@mail.unpad.ac.id2, resti21001@mail.unpad.ac.id3
1

Abstract

Abstrak. Penyakit Diabetes merupakan penyakit kronis yang jika tidak bisa terkontrol bisa menyebabkan
beberapa kerusakan pada berbagai organ dan jaringan tubuh. Penderita penyakit diabetes yang semakin
meningkat di Indonesia. Sehingga, penyakit diabetes kini menjadi salah satu penyakit yang dapat
ditanggung oleh perusahaan asuransi. Dalam menentukan seseorang dapat memiliki penyakit diabetes bisa
dilakukan dengan metode klasifikasi K-Nearest Neighbor. Pada penelitian ini digunakan dataset yang
didapat dari Kaggle. Dalam penerapan KNN akan dicari nilai K (jumlah tetangga terdekat) terbaik. Pada
penelitian ini didapat nilai 11 merupakan nilai K terbaik dalam rentang 1 hingga 15 dengan nilai akurasi
sebesar 76,56%. Sehingga nilai 11 merupakan nilai K yang dapat digunakan dalam penerapan algoritma
KNN pada penyakit diabetes.

Kata kunci: K-Nearest Neighbor, Klasifikasi, Machine Learning, Diabetes, Asuransi

I. PENDAHULUAN
Diabetes atau penyakit gula (gula darah tinggi) adalah penyakit kronis (jangka panjang) yang
ditandai dengan meningkatnya kadar gula darah (glukosa) melebihi nilai normal. Diabetes terjadi ketika
tubuh pengidapnya tidak mampu lagi mengambil glukosa ke dalam sel dan menggunakannya sebagai
energi. Kondisi ini pada akhirnya menghasilkan penumpukkan gula ekstra dalam aliran tubuh. Diabetes
yang tidak terkontrol dengan baik dapat menyebabkan beberapa kerusakan pada berbagai organ dan
jaringan tubuh. Contohnya seperti ginjal, jantung, mata, dan saraf.
Menurut publikasi International Diabetes Federation (IDF) pada tahun 2021, Indonesia berada di
posisi kelima di dunia dengan jumlah pengidap diabetes sebanyak 19,47 atau 10,6% dari total penduduk
Indonesia. Jumlah penderita diabetes pada 2021 tersebut meningkat pesat dalam sepuluh tahun terakhir.
Penderita diabetes tersebut meningkat 167% dibandingkan dengan penderita jumlah penderita diabetes
pada tahun 2011 yang mencapai 7,29 juta. IDF memperkirakan jumlah penderita diabetes di Indonesia
dapat mencatat 28,57 juta pada tahun 2045. Jumlah ini lebih besar 47% dibandingkan tahun 2021.
Tingginya proyeksi angka penyakit diabetes dalam beberapa tahun mendatangkan menghasilkan
risiko finansial tersendiri. Oleh karena itu, asuransi diperlukan dalam pengalihan risiko finansial
tersebut. Apabila kelak risiko terjadi, dalam hal ini terdiagnosis memiliki penyakit diabetes, perusahaan
asuransi akan menanggung biaya-biaya terkait risiko finansial tersebut.
Sampai saat ini, sudah terdapat beberapa perusahaan asuransi (Insurer) yang menyertakan penyakit
diabetes sebagai salah satu manfaat pertanggungan produk asuransi mereka. Insurer sebagai
penanggung risiko finansial tersebut memerlukan sebuah kepastian apakah Tertanggung (Insured)
benar-benar tergolong dalam penderita penyakit diabetes atau tidak. Peran dokter sangat diperlukan
untuk mendiagnosis hal tersebut. Namun, jumlah dokter yang tidak sebanding dengan jumlah penderita
diabetes menjadi keterbatasan tersendiri. Oleh karena itu, terdapat alternatif teknologi memanfaatkan
machine learning dengan algoritma K-Nearest Neighbor (KNN).
K-Nearest Negihbor (KNN) adalah salat satu metode yang digunakan untuk klasifikasi objek baru
berdasarkan sejumlah K tetangga terdekat. Algoritma KNN relatif sederhana dan mudah dipahami
sehingga cukup umum untuk digunakan. Pada penerapan algoritma ini, pengklasifikasian terhadap
sebuah gambar berdasarkan jarak terdekat dengan tetangganya. Nilai jarak ini akan digunakan sebagai
nilai kemiripan antara data uji dan data latih.

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosiding.snsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

Penelitian ini pernah dilakukan oleh Fansuari dkk [1] pada tahun 2022 dan dipublikasikan dalam
bentuk artikel yang berjudul “Penerapan Algoritma K-Nearest Neighbor (KNN) untuk Klasifikasi
Penyakit Diabetes Melitus Studi Kasus: Warga Desa Jatitengah”. Pada artikel tersebut, Happy
membahas penelitiannya dalam menggunakan algoritma KNN terhadap dataset penyakit diabetes
melitus warga desa Jatitengah. Penelitian tersebut menggunakan delapan variabel gejala seperti usia,
mudah haus, berat badan turun, tekanan darah tinggi, memiliki Riwayat penyakit diabetes, luka yang
sulit sembuh, sering buang air di malam hari, dan hasil cek gula darah. Penelitian tersebut menggunakan
81 data training dan 54 data testing yang sudah mengalami pembersihan dan normalisasi data.
Kesimpulan dari penelitian tersebut adalah dengan nilai K=9 mendapatkan hasil klasifikasi 4 orang
positif dan 50 orang negatif diabetes melitus. Pengujian Algoritma K-Nearest Neighbor (KNN) dalam
menentukan klasifikasi penyakit diabetes melitus menggunakan confusion matrix mendapatkan hasil
akurasi yang baik sebesar 93%, presisi sebesar 100%, recall sebesar 60% dan F1-Score sebesar 75%.
Dengan tingkat akurasi sebesar 93%.
Berdasarkan saran dari penelitian tersebut untuk memperbanyak dataset yang digunakan, peneliti
telah melakukan penerapan algoritma KNN dengan menggunakan dataset yang lebih banyak yaitu
sebesar 767 sampel. Selain itu, peneliti juga menggunakan 9 atribut, dimana 8 atribut merupakan input
dan 1 atribut merupakan target. Atribut yang nantinya akan digunakan sebagai landasan dalam
melakukan analisis. Variabel-variabel tersebut adalah Pregnancies, Glucose, Blood Preassure, Skin
Thickness, Insulin, BMI, Diabetes Pedigree Function, dan Age. Dataset yang digunakan adalah
“Diabetes Classification” yang diperoleh dari open source Kaggle.
Berdasarkan latar belakang penelitian, timbul rumusan masalah utama yang dibahas pada artikel
ilmiah ini yaitu bagaimana hasil dari penerapan algoritma KNN dalam klasifikasi penyakit diabetes.
Penelitian ini bertujuan untuk menerapkan algoritma KNN pada klasifikasi penyakit diabetes dan
memperoleh tingkat akurasi terbaik.
Manfaat yang didapat dari penelitian ini di antaranya memperkuat pemahaman terhadap metode
klasifikasi KNN dengan studi kasus dalam kehidupan nyata. Penelitian ini diharapkan dapat menambah
wawasan baru bagi pembaca mengenai metode KNN ini.

II. METODE PENELITIAN


Metode penelitian pada Penerapan Algoritma KNN pada Klasifikasi Penyakit Diabetes memuat
(1) Data Preparation yaitu mempresiapkan data yang akan digunakan dalam penelitian; (2) Data Pre-
Processing yaitu akan dilakukan pemisahan data antara data latih dan data uji; (3) penerapan algortima
KNN; (4) Evaluasi model dengan 4 metrik yaitu Accuracy, Precision, Recall dan F-1 Score
menggunakan Confusion Matrix.
2.1 Data Preparation
Pada penelitian ini akan digunakan dataset yang tersedia untuk umum pada situs Kaggle.
Dataset yang digunakan memiliki judul “Pima Indians Diabetes Database” dan memuat 768 data
dengan 8 atribut. Dimana 8 atribut berupa input dan 1 atribut berupa target [2]. Target yang
dimaksud disini yaitu menyatakan seorang pasien tersebut terdiagnosa penyakit diabetes atau
tidak. Target yang bernilai ‘0’ untuk pasien yang tidak mengalami penyakit diabetes dan ‘1’ untuk
pasien yang mengalami penyakit diabetes. Berikut merupakan deskripsi dari masing-masing
atribut pada dataset:

Tabel 1. Deskripsi Masing-Masing Atribut

No. Atribut Deskripsi

1. Pregnancies Berapa kali pasein sudah hamil

2. Glucose Konsentrasi glukosa plasma dalam 2 jam

3. Blood Pressure Tekanan darah diastol

4. Skin Thickness Ketebalan lipat kulit

5. Insulin Kadar insulin dalam 2 jam

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

6. BMI = Body mass Indikator pengukuran berat badan untuk


index menentukan ideal atau tidak

7. Diabetes Pedigree Indikator riwayat diabetes dalam keluarga


Function

8. Age Usia

2.2 Data Preprocessing


Pada Data Preprocessing dilakukan 2 tahapan yaitu, Normalization Data dan Split Data.
a. Normalization Data
Pada tahap preprocessing, terdapat tahapan yang disebut data transformation. Pada
tahap ini dibagi menjadi sub tahapan lagi salah satunya adalah tahap normalisasi, yaitu suatu
teknik yang memiliki tujuan untuk memetakan data ke dalam skala tertentu dalam proses data
mining. Ada beberapa metode yang biasanya diterapkan dalam normalisasi data, diantaranya:
min-max normalization, Z-Score. Pada penelitian ini metode normalisasi data yang digunakan
pada dataset penelitian adalah menggunakan perhitungan dengan Z-Score, yang memiliki
formula sebagai berikut:
𝑋𝑖 − 𝜇 (1)
𝑧=
𝜎
dimana,
𝑋𝑖 ≡ Nilai data ke-i yang akan dinormalisasikan
𝜇 ≡ Nilai rata-rata
𝜎 ≡ Standar deviasi
b. Split Data
Pada pemisahan data dilakukan pemisahan dataset menjadi dua bagian yaitu data latih
dan data uji. Tujuannya yaitu untuk memiliki titik data yang tidak diketahui untuk menguji
data, daripada menguji dengan titik yang sama dengan model yang dilatih. Karena membantu
kinerja model jauh lebih baik. Pembagian data latih dan data uji akan dipilih secara acak. Data
latih digunakan untuk melatih classifier dalam mengenali karakteristik pasien yang terkena
penyakit diabetes maupun yang tidak terkena penyakit diabetes. Data uji digunakan dalam uji
coba terhadap model klasifikasi yang dihasilkan, serta menentukan performa dari model
klasifikasi dengan cara membandingkan hasil klasifikasi model terhadap tiap data dalam data
testing dengan label sebenarnya [3].
2.3 K-Nearest Neighbor (KNN)
K-Nearest Neighbor (K-NN) metode yang melakukan klasifikasi berdasarkan kedekatan
lokasi (jarak) suatu data dengan data lain. Nilai K pada K-Nearest Neighbor (K-NN) berarti K-
data terdekat dari data uji [4].
Algoritma K-Nearest Neighbor menggunakan pengklasifikasian terhadap suatu kelompok
data yang terdiri dari data latih dan data uji. Algoritma K-nearest Neighbor sebagai berikut:
1. Menentukan nilai K
2. Mencari jarak dari data uji ke setiap data latih, yaitu dengan perhitungan rumus
Eucledian:

𝐸𝑢𝑐𝑙𝑒𝑑𝑖𝑎𝑛 = √∑(𝑝𝑖 − 𝑞𝑖 )2 , (2)


𝑖=1

dimana,
𝑝1 ≡ 𝐷𝑎𝑡𝑎 𝑇𝑟𝑎𝑖𝑛𝑖𝑛𝑔
𝑞1 ≡ 𝐷𝑎𝑡𝑎 𝑇𝑒𝑠𝑡𝑖𝑛𝑔
3. Menentukan tetangga terdekat berdasarkan jarak terdekat ke K dengan mengurutkan data
yang sudah dihitung jaraknya

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

4. Periksa kelas dengan jarak terdekat


5. Menentukan nilai prediksi untuk data yang baru dari mayoritas sederhana kelas tetangga
terdekat
2.4 Evaluasi Model
Model yang sudah melalui proses training akan melalui proses evaluasi model. Tujuan dari
evaluasi model untuk mencari nilai akurasi pada model. Selain itu, akan dicari juga metrik evaluasi
lainnya yaitu, Precision, Recall, dan F-1 Score. Dalam mencari 4 metrik tersebut diperlukan
Confusion Matrix.

Confusion Matrix
Confusion Matrix merupakan teknik yang digunakan untuk melihat performa dari suatu
algoritma klasifikasi. Dalam Confusion Matrix akan diperlihatkan jumlah dari hasil data prediksi
dengan hasil aktual dari data tersebut. Matrik ini akan membantu dalam mencari nilai metrik
evaluasi dari Accuracy, Precision, Recall dan F-1 Score untuk melihat seberapa bagus klasifikasi
model untuk memprediksi suau hasil dari data yang diuji. Confusion Mtarix akan menghasilkan 4
jumlah nilai data dari True Positive (TP), True Negative (TN), False Positive (FP) dan False
Negative (FN).

Gambar 1. Confusion Matrix

dimana,
True Positive (TP) : Jumlah dari data aktual positif yang diprediksikan sebagai positif
False Positive (FP): Jumlah dari data aktual negatif yang diprediksikan sebagai positif
True Negative (TN) : Jumlah dari data aktual negatif yang diprediksikan sebagai negatif
False Negative (FN) : Jumlah dari data aktual positif yang diprediksikan sebagai negatif
Accuracy
Accuracy merupakan nilai rasio dari jumlah prediksi yang bernilai positif dengan jumlah dari
sampel. Accuracy dirumuskan dengan:

𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = (3)
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
Precision
Precision merupakan nilai rasio dari hasil prediksi yang benar positif dengan jumlah dari
prediksi yang bernilai positif. Precision dirumuskan dengan:

𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = (4)
𝑇𝑃 + 𝐹𝑃
Recall
Recall merupakan nilai rasio dari hasil prediksi yang benar positif dengan jumlah dari nilai
aktual positif. Recall dirumuskan dengan:

𝑇𝑃 (5)
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁
F-1 Score
F-1 Score merupakan nilai harmonic mean dari Precision dan Recall. F-1 Score dirumuskan
dengan:

2(𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑅𝑒𝑐𝑎𝑙𝑙)
𝐹 − 1 𝑆𝑐𝑜𝑟𝑒 = (6)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

III. HASIL DAN PEMBAHASAN


3.1 Data Preparation
Langkah pertama dalam melakukan analisis KNN adalah dengan menyiapkan data. Dataset
yang berjenis flie .csv diimport ke dalam IDE Jupyterlab dengan menggunakan library pandas.
Dataset penyakit diabetes yang peneliti gunakan memiliki 768 data dengan 8 atribut input dan 1
atribut target. Dataset yang telah diimport dapat dilihat dalam tabel berikut.

Tabel 2. Dataset Penyakit Diabetes

Dataset yang penulis gunakan memiliki dua tipe data, yaitu float dan integer. Atribut BMI
dan Diabetes Pedigree Function memiliki tipe data float, sedangkan atribut lainnya memiliki tipe
data integer. Semua atribut juga bersifat non-null. Untuk selengkapnya dapat dilihat pada gambar
berikut:

Gambar 2. Tipe Dataset

3.2 Data Preprocessing


Dalam data preprocessing akan dilakukan normalization data dan split data. Pada
normalization data akan digunakan metode z-score pada persamaan (1), dimana pada
normalization data bertujuan untuk membuat semua data berada dalam skala yang sama dalam
rentang 0 hingga 1. Selanjutnya pada split data akan dipisahkan 2/3 dari data yang digunakan
sebagai data latih dan 1/3 dari data yang digunakan sebagai data uji. Hasil dataset yang telah
dinormalisasi sebagai berikut:

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

Tabel 3. Dataset Normalisasi Penyakit Diabetes

3.3 Penerapan Algoritma KNN


Penerapan algoritma KNN akan dilakukan pada data latih dan data uji yang sudah dibuat
sebelumnya. Pada penerapan KNN akan dicari nilai jarak dengan rumus eucledian pada persamaan
(2). Dengan bantuan bahasa pemrograman Python dengan tools Jupyter Notebook akan didapatkan
11 merupakan nilai K yang terbaik dari rentang K = 1 sampai K = 15.

Gambar 3. Nilai Akurasi K dalam rentang K = 1 hingga K = 15

3.4 Evaluasi Model


Setelah menerapkan algoritma KNN pada data yang digunakan, selanjutnya akan dilakukan
evaluasi model. Dengan menggunakan bantuan bahasa pemrograman Python dengan tools Jupyter
Notebook akan didapatkan Confusion Matrix. Selanjutnya, dengan Confusion Matrix kita bisa
mencari nilai Accuracy, Precision, Recall dan F-1 Score. Dengan nilai K sebesar 11 didapatkan
hasil evaluasi model sebagai berikut:

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

Gambar 4. Confusion Matrix pada K = 11


Dari hasil penerapan algoritma KNN pada klasifikasi penyakit diabetes untuk 𝐾 = 11, diperoleh:
Accuracy: 0,765625
Precision: 0,850299
Recall : 0,802260
F1-Score: 0,825581
Simulasi perhitungan performa algoritma KNN untuk K = 11 dapat dihitung dengan menggunakan
formula pada persamaan (3), (4), (5) dan (6) sebagai berikut:
142 + 54
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 142+25+35+54 = 0,765625
142
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 142+25 = 0,850299
142
𝑅𝑒𝑐𝑎𝑙𝑙 = 142+35 = 0,802260
2(0,850299401 𝑥 0,802259887)
𝐹 − 1 𝑆𝑐𝑜𝑟𝑒 = = 0,825581
0,850299401 + 0,802259887

Pada rentang K = 1 hingga K = 15 akan dicari nilai Accuracy, Precision, Recall dan F-1
Score pada masing-masing nilai K. Perhitungan yang sama dilakukan seperti pada perhitungan K
= 11. Sehingga didapati hasil sebagai berikut:
Tabel 4. Hasil Model Evaluasi

K Accuracy Precision Recall F1 score


1 0,73046875 0,808383234 0,784883721 0,796460177
2 0,73046875 0,922155689 0,733333333 0,816976127
3 0,74609375 0,832335329 0,789772727 0,810495627
4 0,7421875 0,898203593 0,753768844 0,819672131
5 0,7421875 0,826347305 0,788571429 0,807017544
6 0,72265625 0,868263473 0,74742268 0,8033241
7 0,74609375 0,832335329 0,789772727 0,810495627

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran
SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)
ISSN ONLINE. 2988-1900

8 0,74609375 0,874251497 0,768421053 0,817927171


9 0,74609375 0,832335329 0,789772727 0,810495627
10 0,73046875 0,862275449 0,757894737 0,806722689
11 0,765625 0,850299401 0,802259887 0,825581395
12 0,734375 0,868263473 0,759162304 0,810055866
13 0,75 0,862275449 0,778378378 0,818181818
14 0,734375 0,868263473 0,759162304 0,810055866
15 0,73828125 0,856287425 0,768817204 0,8101983

IV. KESIMPULAN
Dalam penelitian penerapan algoritma KNN pada data penyakit diabetes didapatkan nilai K = 11
dengan akurasi tinggi dalam rentang K = 1 hingga K = 15 yang bisa digunakan dalam proses klasifikasi
dengan menggunakan K-Nearest NeighborI. Dengan K = 11 didapati nilai Accuracy Sebesar 0,765625,
Precision sebesar 0,850299401, Recall sebesar 0,802259887, F-1 Score sebesar 0,825581395.

DAFTAR PUSTAKA

[1] H. A. D. Fasnuari, H. Yuana dan M. T. Chulkamdi, “Penerapan Algoritma K-Nearest Neighbor (K-
NN) untuk Klasifikasi Penyakit Diabetes Melitus Studi Kasus: Warga Desa Jatitengah,”
ANTIVIRUS: Jurnal Ilmiah Teknik Informatika, pp. 133-142, 2022.
[2] UCI Machine Learning, “Pima Indians Diabetes Databse,” 15 Juni 2023. [Online]. Available:
https://www.kaggle.com/datasets/uciml/pima-indians-diabetes-database.
[3] A. B. Wibisono dan A. Fahrurozi, “Perbandingan Algoritma Klasifikasi dalam Pengklasifikasian
Data Penyakit Jantung Koroner,” Jurnal Ilmiah Teknologi dan Rekayasa, 2019.
[4] B. Merluarini, D. Safitri dan A. Hoyyi, “Penerapan Analisis Klasifikasi Menggunakan Metode K-
Nearest Neighbor (K-NN) dan Multivariate Adaptive Regression Spline (MARS) pada Data
Akreditasi Sekolah Dasar Negeri di Kota Semarang,” Jurnal Gaussian, vol. III, no. 3, pp. 313-322,
2014.

SEMINAR NASIONAL STATISTIKA AKTUARIA II (2023)


Website: http://prosidingsnsa.statistics.unpad.ac.id
Published by Departemen Statistika FMIPA Universitas Padjadjaran

Anda mungkin juga menyukai