Skip to content Skip to sidebar Skip to footer

Menghitung k-NN Atribut Data Kelas Numerik atau Kontinyu

Hitung k-NN atribut kelas numerik


Algoritma k-NN (Nearest Neighbor) merupakan salah satu dari pembelajaran supervised learning pada ilmu data mining yang termasuk pada algoritma klasifikasi, dimana cara kerjanya adalah mengambil keputusan dengan model prediksi.

Untuk proses perhitungan dari k-NN adalah dengan mengambil nilai k atau nilai tertangga terdekat dari nilai jarak atau biasa disebut dengan Euclidean Distance. Namun sebelum itu ada tahapan yang harus dilakukan sebelumnya yaitu proses perhitungan normalisasi data.

Namun, belakangan ini banyak sekali pertanyaan tentang apakah perlu dilakukan normalisasi data ?

Secara tertulis dalam buku-buku tentang pembahasan ilmu data mining tentu ada salah satu tahapan yang harus dilakukan yaitu dengan melakukan normalisasi data, namun terkadang nilai akurasi yang dihasilkan terkadang rendah, kemudian jika tidak dilakukan normalisasi data hasil akurasinya bisa lebih tinggi.

Nah untuk kasus ini maka tahapan dari normalisasi data itu memang perlu dilakukan apabila data latih yang diperoleh bentuknya atau tipe datanya adalah campuran yaitu ada atribut data binominal atau diskrit dan ada atribut data yang bertipe numerik atau kontinu dan isi datanya juga berbeda.

Namun, keluar dari kasus diatas yang akan tertulis dalam artikel ini adalah cara menghitung algoritma k-NN pada kasus data yang memiliki atribut kelas atau label yang bertipe numerik. Memang bisa algoritma klasifikasi memprediksi kasus pada atribut kelas numerik ? Jika ada kasus seperti itu maka k-NN bisa mengatasi semacam kasus di atas.

Proses Perhitungan Algoritma k-NN (Nearest Neighbor)

1. Persiapan Set Data Latih

Tahap yang harus dilakukan pertama kali adalah harus menyiapkan set data latih terlebih dahulu, karena set data latih adalah data yang diperlukan untuk proses pembelajaran supervised learning. Dan tabel dibawah ini adalah contoh data latih yang mempunyai set data dengan atribut kelas numerik atau kontinu.

Set Data Latih Atribut Kelas Numerik
Contoh Set Data Latih

Data latih diatas adalah data yang digunakan untuk memperoleh hasil prediksi untuk harga emas yang memiliki tiga artibut yaiatu Pembukaan, Tertinggi, Terendah dan satu atribut kelas pada Label Terakhir. Data ini saya peroleh dari situs investing.com dimana dia mempublikasikan histori data dari setiap periode tertentu.

2. Perhitungan Algoritma k-NN

Seperti yang sudah ditulisakan dalam buku "Data Minig dan Mengelolah Informasi Menggunakan Matlab" Karya Eko Prasetyo. Dijelaskan bahwa tahapan k-NN yang pertama adalah dengan normalisasi data. Namun berdasarkan pengalaman saya pribadi dengan menggunakan data latih diatas dan dilakukanlah proses normalisasi data akurasinya sedikit lebih rendah dibandingkan dengan tidak melakukan proses normalisasi data. Kenapa bisa seperti itu ?. Menurut saya hal itu terjadi karena data yang diatas  hanya memiliki satu tipe atribut data yaitu numerik dan isi datanya pun sama yaitu isi dari harga emas. Jadi secara data itu sudah normal karena datanya sama.👍

Tahap selanjutnya adalah menghitung nilai Ecludiean Distance. Rumus yang tertulis adalah sebagai berikut :

  • Xi adalah data dari masing-masing atribut dari data latih
  • Yi adalah data dari data uji.
Untuk perhitungan dengan lebih mudah dan cepat kamu bisa menghitungnya dengan menggunakan Ms. Excel. Maka untuk itu kamu bisa mempelajari cara menghitung k-NN dengan Ms. Excel pada artikel saya yang lain tentang Menghitung Distance Algoritma k-NN dengan Excel.

Tahap Berikutnya adalah menghitung nilai k atau nilai tetangga terdekat dari distance.

Pada tahapan ini adalah menentukan dengan cara pemilihan nilai euclidean distance yang terkecil yang masuk peringkat dari sejumlah nilai k. Untuk pengembilan nilai k sendiri minimalnya adalah 0 dan maksimalnya adalah total jumlah data latih dikurang satu. Dalam arti lain jika data latih sebanyak 20 maka maksimal nilai k nya adalah 19. Contoh hasil dari pengambilan nilai k dari dua data uji.

Nilai k algoritma k-NN
Hasil Nilai k

Yang dimaksud dari tabel diatas adalah mengambil nilai k sebanyak 4 nilai terkecil dari nilai ecludiean distance. Nah dari hasil tersebut pada data uji 1 nilai k terdekat didapatkan 4 nilai dari atribut Label Terakhir dengan urutan dari nilai distance terkecil yaitu 1907.6, 1868.4, 1866.3, dan 1876. Sedangkan pada data uji 2 yaitu 1962.1,1962.1,1962.1, dan 1963.7.

Pertanyaannya adalah Bagaimana cara mengambil keputusan prediksi dari hasil tersebut ?

Caranya adalah dengan mengambil nilai rata-rata dari nilai k tersebut. Contoh pada pada nilai k dari data uji 1 kamu jumlahkan dan dibagi jumlah k.

  • 1907.6 + 1868.4 + 1866.3 + 1876.3 = 7519.2 / 4 = 1879.8
  • Maka prediksi yang bisa diambil dari data uji 1 adalah 1879.8
Sedangkan dari data uji 2 adalah 
  • 1962.1 + 1962.1 + 1962.1 + 1963.7 = 7850 / 4 = 1962.5
  • Maka prediksi yang bisa diambil dari data uji 2 adalah 1962.5
Dengan hasil tersebut, jika atribut kelasnya bertipe numerik, apabila ingin mencari nilai akurasinya sudah tidak lagi menggunakan metode Confusion Matrix. Namun melainkan dengan cara mencari nilai Root Mean Square Error atau RMSE.


Nah, itulah sedikit pengalaman edukasi yang semoga memberikan menfaat dan kamu bisa menemukan apa yang kamu cari karena Sistemku adalah Informasimu. "Jangan Lupa Bernafas dan Tetaplah Bersyukur"

Wassalamualaikum Wr.Wb - See You Later