Anda di halaman 1dari 4

IMAGE CLASSIFICATION OF PNEUMONIA BACTERIAL (PB)

AND PNEUMONIA VIRAL (PV) WITH K-NEAREST


NEIGHBORS ALGORITHM
Hanin Nafiah**, Indra Ismail Nurramdhani**, Ivan Pratama Sudirman***

* Teknik Telekomunikasi, Fakultas Elektro


** Telkom University
2023

Abstrak - Pneumonia merupakan penyakit parenkim 1. Introduction


inflamasi yang disebabkan oleh berbagai mikroorganisme, Algoritma K-Nearest Neighbors (K-NN) adalah algoritma
antara lain bakteri, jamur, parasit, dan virus. Klasifikasi yang supervised learning yang digunakan untuk klasifikasi atau
akurat antara pneumonia bacterial (PB) dan pneumonia viral regresi berdasarkan data terdekat dalam ruang fitur.
(PV) penting untuk pengobatan yang tepat dan perawatan
yang efektif. Dalam penelitian ini, kami mengusulkan
penggunaan algoritma K-Nearest Neighbors (K-NN) untuk
melakukan klasifikasi gambar pneumonia bacterial dan
pneumonia viral. Metode penelitian yang digunakan melalui
beberapa tahap. Pertama pengumpulan dataset gambar
pneumonia bacterial dan pneumonia viral untuk
mempersiapkan data latih dan data uji. Kemudian proses pre-
processing dataset untuk mengenali fitur-fitur penting yang
diekstraksi dari gambar-gambar tersebut, seperti tekstur,
bentuk, dan intensitas piksel. Fitur-fitur ini kemudian
digunakan sebagai input untuk algoritma K-NN. Dalam
tahap modeling algoritma yang digunakan untuk
mengklasifikasikan gambar-gambar baru ke dalam kategori
pneumonia bacterial atau pneumonia viral menggunakan
algoritma K-Nearest Neighbors (K-NN). Algoritma ini
Gambar 1 K-Nearest Neighbors
mencari tetangga terdekat dari gambar yang akan
diklasifikasikan di ruang fitur. Kategori mayoritas dari
Algoritma ini bekerja berdasarkan prinsip bahwa data
tetangga-tetangga terdekat akan menjadi klasifikasi akhir
dengan atribut yang serupa cenderung memiliki label
untuk gambar tersebut. Hasil eksperimen menunjukkan
yang sama atau nilai target yang serupa. Berikut adalah
bahwa algoritma K-NN memiliki kemampuan yang baik
langkah-langkah umum dalam algoritma k-Nearest
dalam membedakan antara pneumonia bacterial dan
Neighbors:
pneumonia viral. Akurasi yang dihasilkan termasuk dalam
1. Menentukan Jumlah Tetangga Terdekat (K): K
kategori baik sebab algoritma sudah dapat membedakan
adalah parameter penting dalam algoritma k-NN
kedua kelas tersebut. Nilai akurasi yang dihasilkan
yang menentukan berapa banyak tetangga terdekat
bervariatif tergantung pada dataset yang digunakan dan
yang akan digunakan dalam proses klasifikasi atau
parameter yang dipilih. Kesimpulannya, algoritma K-NN
regresi. Nilai k harus ditentukan sebelumnya oleh
dapat digunakan sebagai metode klasifikasi yang efektif
pengguna.
untuk membedakan gambar-gambar pneumonia bacterial
2. Menghitung Jarak: Algoritma K-NN menghitung
dan pneumonia viral. Klasifikasi yang akurat antara PB dan
jarak antara data yang akan diklasifikasikan atau
PV dapat membantu dalam diagnosis yang tepat dan
diregresikan dengan setiap titik data dalam dataset.
perawatan yang sesuai. Namun, perlu diingat bahwa
Jarak ini dapat dihitung menggunakan metrik jarak
pemilihan parameter yang tepat dan pemrosesan yang baik
seperti Euclidean, Manhattan, atau metrik jarak
dari data gambar menjadi aktor penting dalam mencapai
lainnya yang sesuai dengan masalah yang dihadapi.
hasil yang optimal dengan algoritma K-NN. Berdasarkan
3. Memilih Tetangga Terdekat: K tetangga terdekat
hasil penelitian menunjukan bahwa nilai akurasi terbaik yang
dengan jarak terpendek dari data yang akan
diperoleh sebesar 78% dengan nilai K = 8.
diklasifikasikan atau diregresikan dipilih. Ini bisa
dilakukan dengan mengurutkan data berdasarkan
Kata Kunci : Image Classification, Pneumonia Bacterial
jarak dan memilih k data teratas.
(PB), Pneunomia Viral (PV), K-NN.
4. Menentukan Label atau Nilai Target: Dalam 2. Data Preprocessing
klasifikasi, jika k tetangga terdekat memiliki label Preprocessing (preposessing) dalam konteks
yang berbeda, suara mayoritas tetangga digunakan pemrosesan data merujuk pada serangkaian langkah
untuk menentukan label data yang akan atau teknik yang diterapkan pada dataset sebelum
diklasifikasikan. Dalam regresi, nilai target tetangga melakukan analisis atau membangun model. Tujuan
terdekat digunakan untuk memprediksi nilai target utama dari preprocessing adalah membersihkan,
memformat, dan mempersiapkan data agar lebih cocok
data yang akan diregresikan. Misalnya, dalam
untuk analisis atau pemodelan yang akan dilakukan.
klasifikasi biner, jika k = 5 dan 3 tetangga terdekat Beberapa tahap yang dilakukan pada tahap
memiliki label "A" dan 2 tetangga terdekat memiliki preposessing ini antara lain:
label "B", maka data yang akan diklasifikasikan akan a. Konversi ke Grayscale: Beberapa model atau
diberi label "A". analisis hanya membutuhkan informasi kecerahan
5. Output Hasil: Setelah label atau nilai target dalam gambar, sehingga konversi ke citra
ditentukan berdasarkan suara mayoritas atau nilai grayscale (hitam putih) dapat dilakukan untuk
rata-rata tetangga terdekat, hasil klasifikasi atau mengurangi dimensi dan kompleksitas data
regresi diberikan sebagai output dari algoritma. b. Random noise digunakan untuk mensimulasikan
Algoritma K-NN relatif sederhana dan mudah dipahami. gangguan atau derau yang mungkin ada dalam
Namun, penting untuk memperhatikan parameter K dan gambar nyata atau untuk melakukan augmentasi
memilih metrik jarak yang sesuai untuk kasus yang akan data dengan variasi noise.
diselesaikan. Selain itu, algoritma ini juga memerlukan c. Adjust gamma digunakan untuk menyesuaikan
penyimpanan seluruh dataset dalam memori, sehingga kecerahan gambar dengan menerapkan
dapat menjadi tidak efisien untuk dataset yang sangat transformasi gamma. Transformasi gamma adalah
besar. proses non-linear yang mengubah intensitas piksel
gambar dengan memperkuat atau melemahkan
2. Research Methods kecerahan relatif di berbagai tingkat kecerahan.
Beberapa tahap dalam metoda penelitian yang digunakan d. Rezise digunakan untuk mengubah ukuran gambar
untuk mengklasifikasikan gambar pneumonia bacterial menjadi ukuran yang diinginkan yaitu 224 x 224
dan pneumonia viral menggunakan algoritma k-Nearest pixel. cv2.INTER_AREA adalah salah satu
Neighbors (K-NN)sebagai berikut: metode interpolasi yang umum digunakan dalam
1. Import Library dan Dataset OpenCV untuk mengubah ukuran gambar dengan
Library adalah kumpulan modul atau fungsi yang mengekstrapolasi nilai piksel berdasarkan area
menyediakan fungsi-fungsi khusus yang dapat Anda sekitarnya. Metode ini ini berguna ketika ingin
gunakan dalam program Anda tanpa perlu menulis mengubah ukuran gambar menjadi ukuran yang
ulang kode dari awal. Beberapa library yang digunakan lebih kecil dengan mempertahankan informasi
antara lain pandas, numpy, matplotlib, seaborn, cv2 penting dalam gambar secara optimal.
dan sklearn. 3. K-Nearest Neighbor (K-NN)
Sebelum melalui tahap permodelan dilakukan
pembagian dataset menjadi subset pelatihan (training
set) sebanyak 80% images dan subset pengujian
(testing set) sebanyak 20% images.

Gambar 2 Sampel Pneumonia Bacterial (PB)

Gambar 3 Sampel Pneumonia Viral (PV)

Kemudian untuk dataset yang digunakan yaitu


berupa gambar dengan format jpg dan jpeg. Gambar Gambar 4 Beberapa Tipe Model dan Akurasinya
dataset untuk Pneumonia Bacteria (PB) yaitu sebanyak
300 data. Sedangkan gambar dataset untuk Pneumonia Pemilihan model dalam penelitian ini menggunakan
Viral (PV) yaitu sebanyak 626 data. algoritma K-Nearest Neighbor (K-NN). Dalam
pemodelan KNN (K-Nearest Neighbors) digunakan
metrics Manhattan, Minkowski, dan Euclidean
untuk mengukur jarak antara sampel-sampel dalam
ruang fitur untuk menentukan tetangga terdekat.
Pada tahapan ini di ditetapkan nilai K sebesar 8.
Kemudian dilakukan pelatihan menggunakan data
pelatihan dari hasil pelatihan ini didapat skor akurasi
sebesar 78%. Algoritma K-Nearest Neighbors
(KNN), kita dapat menyesuaikan bobot tetangga Gambar 7 Classification Report
menggunakan parameter weights. Terdapat dua opsi
umum yang dapat digunakan: "uniform" dan Diperoleh hasil akurasi sebesar 78% dengan parameter
"distance", dengan kombinasi paling baik dari K lain seperti precision PB : 69% dan PV 81%, recall PB
neighbours, metrics dan weights. : 58% dan PV 87%, f1-score PB : 63% dan PV 84%.
Dengan jumlah sampel masing-masing PB sebanyak
4. Model Prediction 60 data test dan PV sebanyak 126 data test.
Berdasarkan hasil prediction program klasifikasi KNN
Pneumonia Bacterial (PB) dan Pneumonia Viral (PV)
3. Discussion
menggunakan model KNN type ke-6 (Accuracy
Perlu dipertimbangkan konteks klinis dan interpretasi
terbaik) diperoleh hasil bahwa yang diprediksi sesuai
dengan actual label image ada 4 prediksi gambar benar medis saat mengevaluasi model. Kesalahan dalam
dan 1 prediksi gambar yang salah dari 5 gambar. klasifikasi bisa memiliki konsekuensi serius dalam
diagnosis dan pengobatan. Oleh karena itu, sebaiknya
dilakukan validasi lebih lanjut dan analisis yang lebih
mendalam untuk memastikan keandalan dan konsistensi
hasil dari model ini sebelum diimplementasikan dalam
Gambar 5 prediksi gambar PB dan PV lingkungan medis yang nyata. Setiap langkah ini perlu
5. Model Evaluation dilakukan dengan hati-hati dan memerlukan analisis yang
Dengan menggunakan confusion matrix evaluasi cermat. Penting untuk memahami data dengan baik dan
kinerja model klasifikasi dengan memperlihatkan mempertimbangkan konteks medis serta interpretasi yang
jumlah prediksi yang benar dan salah dalam bentuk akurat dalam pengembangan model ini.
tabel. Dari confusion matrix, kita dapat menghitung
beberapa metrik evaluasi seperti precision, recall, F1- 4. Future Work
score, dan support. Pada penelitian selanjutnya dapat diperhatikan beberapa
faktor berdasarkan evaluasi dalam percobaan klasifikasi
gambar pneumonia bakteri (PB) dan pneumonia virus
(PV). Berikut adalah beberapa saran untuk penelitian di
masa depan:
1. Melakukan pemrosesan data yang lebih baik dapat
membantu meningkatkan kualitas dan cleansing
data. Misalnya mencoba teknik augmentasi data
seperti rotasi, crop, zoom, flipping, atau
pencahayaan yang berbeda untuk memperluas
variasi data pelatihan. Dengan cara ini, model dapat
belajar dari lebih banyak variasi dalam gambar dan
meningkatkan kemampuan generalisasinya.
2. Metode seleksi fitur untuk mengidentifikasi subset
fitur yang paling relevan dan informatif untuk
klasifikasi pneumonia bakterial dan pneumonia viral.
Gambar 6 Confusion Matrix Metode seperti analisis komponen utama (PCA) atau
seleksi fitur berdasarkan pemilihan atribut yang
Berdasarkan tabel Confusion Matrix tersebut diperoleh paling informatif (misalnya, chi-square) dapat
jumlah True Positive (TP) sebanyak 35, True Negative membantu mengurangi dimensi fitur dan
sebanyak 110, False Positive (FP) sebanyak 25 dan meningkatkan efisiensi dan akurasi model.
False Negative (FN) sebanyak 16. Sehingga diperoleh 3. KNN memiliki parameter K yang dapat diubah-ubah
perhitungan parameternya sebagai berikut. untuk mendapatkan nilai yang paling
optimal, melalui proses validasi silang atau
pencarian grid untuk menemukan kombinasi
parameter dan memberikan hasil terbaik.
4. Menggabungkan beberapa model KNN atau
menggunakan model ensambel seperti Random
Forest atau Gradient Boosting dapat meningkatkan
kinerja klasifikasi. Dengan menggabungkan prediksi
dari beberapa model yang berbeda, dapat
dimanfaatkan kekuatan masing-masing model dan
meningkatkan akurasi secara keseluruhan.
5. Menggunakan beberapa teknik untuk menangani
ketidakseimbangan data dalam masing-masing
kelas, seperti oversampling dan undersampling
menggunakan metode SMOTE (Synthetic Minority
Gambar 9 Best K Neighbor berdasarkan Accuracy
Over-sampling Technique). Seperti dalam kasus
penelitian ini diketahui untuk jumlah sampel kelas Berdasarkan gambar pada grafik diatas dapat diperoleh
PB dan PV tidak seimbang. Jumlah data dalam kelas kesimpulan apabila semakin banyak nilai K akan
PB lebih sedikit daripada kelas PV. Namun, untuk berpengaruh terhadap nilai Accuracy masing-masing data.
melakukan metode undersampling dan oversampling Pada data training nilai akurasi akan semakin kecil,
membutuhkan resource memory yang cukup besar. sedangkan pada data testing nilai akurasi akan semakin besar.
Sehingga untuk menemukan titik tengah diantara kedua data
5. Conclusion tersebut, kami enggunakan nilai value yang ada diantara
Perlu dicatat bahwa algoritma K-NN mungkin tidak selalu persimpangan keduanya yaitu K sebesar 10.
memberikan hasil yang optimal untuk tugas
pengklasifikasian gambar. Dalam tugas ini, metode yang 6. Contributions
lebih canggih implementasi Deep Learning seperti
Convolutional Neural Network (CNN) biasanya lebih Tim kami terdiri dari 3 anggota yaitu Hanin Nafiah, Indra
umum digunakan karena keunggulan mereka dalam Ismail Nurramdhani dan Ivan Pratama Sudirman. Untuk
mempelajari fitur-fitur gambar. Namun, apabila Anda source code dapat diakses melalui link berikut ini.
https://colab.research.google.com/drive/1Stuyz_RKn5O3H
ingin menggunakan K-NN, langkah-langkah di atas dapat
wB5gW94aktAvu2cmChH?usp=sharing
membantu Anda dalam proses klasifikasi gambar
pneumonia bacterial dan pneumonia viral.
7. References

[1] F. A. P. Scholastica, Asuhan Keperawatan Pada Pasien


Dengan Gangguan Sistem Pernapasan. Yogyakarta :
Pustaka Baru Press, 2018.
[2] F. Liantoni, “Klasifikasi Daun Dengan Perbaikan Fitur
Citra Menggunakan Metode K-Nearest Neighbor”,
Ultimatics : Jurnal Teknik Informatika, vol. 7, no. 2, pp.
98-104, Aug. 2016.
[3] W. Christanto, “Klasifikasi pneumonia menggunakan
convolutional neural network”. Repositori Institusi
Universitas Sumatera Utara, 2018.
[4] T. D. Wulan, “Ektraksi fitur citra paru-paru menggunakan
gray level co-occurrence matriks”,Technology Science
Gambar 8 Best K Neighbor berdasarkan Error Value
and Engineering Journal, vol. 1, no. 3, pp. 225–229, 2017.
Berdasarkan gambar pada grafik diatas dapat diperoleh [5] J. Sofian and R. H. Laluma, "Jenis Tumor Otak Dengan
kesimpulan apabila semakin banyak nilai K akan Metode Image Threshold Dan Glcm Menggunakan
berpengaruh terhadap nilai Error masing-masing data. Pada Algoritma K-NN ( Nearest Neighbor ) Classifier
data training nilai error akan semakin besar, sedangkan pada Berbasis Web," Jurnal Infotronik, vol. 4, no. 2, pp. 1-7,
data testing nilai error akan semakin kecil. Sehingga untuk 2019.
menemukan titik tengah diantara kedua data tersebut, kami
enggunakan nilai value yang ada diantara persimpangan
keduanya yaitu K sebesar 10.

Anda mungkin juga menyukai