Professional Documents
Culture Documents
Implementasi Metode K-Nearest Neighbour Untuk Melakukan Diagnosis Terhadap Penyakit Diabetes
Implementasi Metode K-Nearest Neighbour Untuk Melakukan Diagnosis Terhadap Penyakit Diabetes
Abstrak
Data dari WHO menyatakan bahwa jumlah pengidap diabetes telah naik drastis dari 108 juta pada tahun
1980 menjadi 422 juta pada tahun 2014. Pada tahun 2016, diperkirakan sebanyak 1.6 juta kematian
disebabkan secara langsung oleh diabetes. Sebanyak 2.2 juta kematian disebabkan kelebihan glukosa dalam
darah terjadi pada tahun 2012. Diabetes adalah penyakit kronis yang terjadi baik ketika pankreas tidak
memproduksi cukup insulin atau ketika tubuh tidak dapat secara efektif menggunakan insulin yang
dihasilkannya. Penerapan algoritma K-Nearest Neighbour (K-NN) diharapkan dapat mengatasi masalah
efektivitas dan akurasi dalam mendiagnosis penyakit diabetes. Pada penelitian ini digunakan algoritma K-
NN dengan k = 11 pada 768 data pasien yang diambil 2/3 untuk data latih dan 1/3 untuk data tes. Hasil
penelitian diperoleh akurasi sebesar 76% pada data tes. Setelah dilakukan perhitungan dengan K-NN, model
dianalisis dan diuji lagi dengan Confusion Matrix dan mendapatkan nilai True Positive sebesar 143, False
Positive sebesar 24, False Negative sebesar 37 dan True Negative sebesar 52. Disimpulkan bahwa algoritma
K-NN dapat digunakan dan diterapkan untuk mendeteksi penyakit diabetes.
Kata Kunci: Diabetes, K-Nearest Neighbour, Confusion Matrix
Abstract
Data from WHO states that the number of people with diabetes has drastically risen from 108 million in
1980 to 422 million in 2014. In 2016, an estimated 1.6 million deaths were directly caused by diabetes.
Another 2.2 million deaths were attributable to high blood glucose in 2012. Diabetes is a chronic disease
that occurs either when the pancreas does not produce enough insulin or when the body cannot effectively
use the insulin it produces. Th application of K-Nearest Neighbour (K-NN) algorithm is expected to
overcome the problems on the effectivity and accuracy in diagnosing diabetes. In this research, the K-NN
with k = 11 is used on 768 patients that split to 2/3 for data training and 1/3 for data test. The result
revealed that the accuracy is. After calculating with K-NN algorithm, the model analysed and tested with
Confusion Matrix and resulted True Positive value by 143, False Positive value by 24, False Negative value
by 37, and True Negative value by 52. Hence, the K-NN algorithm can be used and applied in diagnosing
diabetes.
Keywords: Diabetes, K-Nearest Neighbour, Confusion Matrix
Processor Intel(R) Core(TM) i3-4030U CPU Proses training data dilakukan untuk
@ 1.90GHz (4 CPUs), ~1.9GHz memisahkan data menjadi dua bagian, yaitu data
GPU AMD Radeon HD 8500M training dan data test. Proses pemisahan data
RAM 4096MB RAM dilakukan dengan menggunakan library dari
Storage WD Blue 3D NAND 500GB scikit-learn yaitu train_test_split.
Toshiba 500GB
Selanjutnya dilakukan training data dengan
OS Windows 10 Pro 64-bit (10.0,
Build 18362) metode K-NN yang didapat dari library scikit-
BIOS InsydeH2O Version learn yaitu KNeigborsClassifier. Training dan test
03.73.069ACN32WW dilakukan sebanyak 15 kali iterasi dan diambil
Tahapan penelitian dibagi menjadi beberapa nilai tertinggi dari tiap iterasi.
bagian, diantaranya Obtain Data atau G. Pemodelan Data
pengumpulan data, Scrubbing Data atau
pembersihan data, Scaling Data atau transformasi Hasil dari training data diambil nilai dengan
data, Modelling Data atau pemodelan data, dan persentase yang paling besar dari nilai test. Lalu
Interpret Data atau evaluasi data. iterasinya dimasukkan ke final model. Setelah
selesai, maka hasilnya disimpan di variabel yang
C. Pengumpulan Data nantinya akan dilakukan evaluasi data.
Proses pengumpulan data dilakukan dengan H. Evaluasi Data
meng-import data dari file csv yang didapat dari
UCI Machine Learning repository, yaitu data Setelah selesai melakukan pemodelan data,
tentang diabetes. Kode dieksekusi menggunakan hasil dari pemodelan diambil dan dilakukan
library Apache Spark yang ada di Python. Data evaluasi data dengan menggunakan Confusion
dimasukkan berdasarkan skema yang dibuat, dan Matrix
Setelah data didapat, lakukan scrubbing data atau pembersihan data. Perbandingan data yang asli dan
data yang telah dibersihkan divisualisasikan dalam bentuk histogram.
Gambar 3. Visualisasi histogram terhadap data asli yang belum dibersihkan dan sudah dibersihkan. 3x3
dari kiri merupakan data asli, dan 3x3 dari kanan adalah data yang sudah dibersihkan
Selain menggunakan histogram, data juga divisualisasikan menggunakan Scatter Matrix. Berikut adalah
visualisasi Scatter Matrix.
Setelah dilakukan pembersihan data, data yang sudah bersih dilakukan penyesuaian dengan cara scaling
yaitu mentransformasikan data agar semua data dalam bentuk normal dan standar. Transformasi data
dilakukan dengan menggunakan library dari scikit-learn yaitu StandardScaler. Berikut hasil dari scaling
data.
Gambar 5. Hasil Scaling data terhadap kolom Pregnancies, Glucose, BloodPressure, SkinThickness,
Insulin, BMI, DiabtesPedigreeFunction, dan Age
Gambar 6. Grafik hasil kalkulasi data training dan data test K-Nearest Neighbours
Setelah didapat nilai tertinggi, masukkan nilai tersebut ke model final metode K-NN di penelitian ini.
Iterasi yang dimasukkan adalah 11 yang berarti K = 11. Didapat hasil 0.76171875 dari model final.
Terakhir masukkan data ke confusion matrix untuk menentukan apakah analisis sudah benar.
DAFTAR PUSTAKA
[2] M. Lestari, “Penerapan Algoritma Klasifikasi Nearest Neigbhbor (K-NN) Untuk Mendeteksi
Penyakit Jantung,” Faktor Exacta, vol. 7, no. 4, pp. 366-371, 2015.
[3] K. Polat dan S. Güneş, “Breast cancer diagnosis using least square support vector machine,”
Digital Signal Processing, vol. 17, no. 4, pp. 694-701, 2007.
[4] J. D'Souza, “Confusion Matrix ain’t that Confusing,” Medium, 12 3 2018. [Online]. Available:
https://medium.com/@djocz/confusion-matrix-aint-that-confusing-d29e18403327. [Accessed 20 12
2019].
[6] Aditya, “Algoritma K-Nearest Neighbor (K-NN),” Informatikalogi, 13 6 2017. [Online]. Available:
https://informatikalogi.com/algoritma-k-nn-k-nearest-neighbor/. [Diakses 20 12 2019].
[7] “Pengujian Dengan Confusion Matrix,” Teori Kuliah Komputer, 23 7 2018. [Online]. Available:
http://www.kuliahkomputer.com/2018/07/pengujian-dengan-confusion-matrix.html. [Diakses 20
12 2019].