Anda di halaman 1dari 3

Sejarah singkat algoritma kNN

kNN pertama kali dikembangkan oleh Evelyn Fix dan Joseph Hodges pada tahun 1951 dalam konteks
penelitian yang dilakukan untuk militer AS 1 . Mereka menerbitkan makalah yang menjelaskan
analisis diskriminan, yang merupakan metode klasifikasi non-parametrik. Pada tahun 1967, Thomas
Cover dan Peter Hart memperluas metode klasifikasi non-parametrik dan menerbitkan makalah
"Klasifikasi Pola Tetangga Terdekat" 2 . Hampir 20 tahun kemudian, algoritme tersebut
disempurnakan oleh James Keller, yang mengembangkan "fuzzy KNN" yang menghasilkan tingkat
kesalahan lebih rendah3 .

Saat ini, algoritme kNN adalah algoritme yang paling banyak digunakan karena kemampuannya
beradaptasi di sebagian besar bidang — mulai dari genetika hingga keuangan dan layanan pelanggan.

Pengertian KNN

K-Nearest Neighbor (KNN) adalah suatu metode yang menggunakan algoritma supervised dimana
hasil dari query instance yang baru diklasifikan berdasarkan mayoritas dari kategori pada KNN.
Tujuan dari algoritma KNN adalah untuk mengklasifikasi objek baru berdasarkan atribut dan training
samples. Dimana hasil dari sampel uji yang baru diklasifikasikan berdasarkan mayoritas dari kategori
pada KNN.

Langkah-Langkah Algoritma KNN

1. Tentukan jumlah tetangga (K) yang akan digunakan untuk pertimbangan penentuan kelas.
2. Hitung jarak dari data baru ke masing-masing data point di dataset.
3. Ambil sejumlah K data dengan jarak terdekat, kemudian tentukan kelas dari data baru
tersebut.

Jarak Euclidean adalah formula untuk mencari jarak antara 2 titik dalam ruang dua dimensi. Berikut
rumus untuk menghitung jarak Euclidean:

d= √ (x 2−x 1)2+( y 2− y 1)2


Contoh studi kasus dan proses penerapan algoritma KNN

Diketahui sebuah dataset yang menggambarkan kualitas kertas tissue(baik atau jelek) berdasarkan 2
atribut yaitu daya tahan terhadap asam (x) dan kekuatan kertas (y)

X Y Kategori
8 4 Baik
4 5 Jelek
4 6 Jelek
7 7 Baik
5 6 Jelek
6 5 Baik
7 4 ?

1. Tentukan jumlah tetangga (K) yang akan digunakan untuk pertimbangan penentuan kelas.

Penentuan nilai K ini tidak ada rumus pastinya. Namun satu tips yang dapat dipertimbangkan, yakni
jika kategori berjumlah genap maka sebaiknya nilai K-nya ganjil, sebaliknya jika kstegori berjumlah
ganjil maka sebaiknya nilai K-nya genap. Misalnya seperti contoh di atas ada dua kategori (genap)Baik
dan Jelek, jika kita ambil nilai K genap juga misalnya 4, maka akan ada kemungkinan hasil 4 tetangga
terdekat terdiri dari 2 kategori Baik dan 2 kategori Jelek sehingga sama hasilnya, bisa Baik bisa Jelek.
Namun jika ambil nilai K ganjil, misal 3 atau 5, maka otomatis akan ada yang lebih banyak jumlahnya.
Karena jumlah kelasnya ada 2, maka untuk nilai K nya kita tentukan jadi 3.

2. Hitung jarak dari data baru ke masing-masing data point di dataset

Gunakan rumus Euclidean untuk menghitung jarak antara data baru dengan masing-masing data
lainnya. Diperoleh hasil sebagai berikut :

X Y Kategori Perhitungan jarak Urutan


8 4 Baik d= √ (8−7) +(4−4) =1 , 00
2 2 1
4 5 Jelek d= √ (4−7)2 +(5−4)2 = 3,16 5
4 6 Jelek d= √ (4−7)2 +(6−4)2 = 3,60 6
7 7 Baik d= √ (7−7)2+(7−4)2 = 3,00 4
5 6 Jelek d= √ (5−7)2 +(6−4)2 = 2,83 3
6 5 Baik d= √ (6−7)2+(5−4)2 = 1,41 2
7 4 ?

3. Ambil sejumlah K data dengan jarak terdekat, kemudian tentukan kelas dari data baru
tersebut.

X Y Kategori Perhitungan jarak Urutan


8 4 Baik d= √ (8−7) +(4−4) =1 , 00
2 2 1
5 6 Jelek d= √ (5−7)2 +(6−4)2 = 2,83 3
6 5 Baik d= √ (6−7)2+(5−4)2 = 1,41 2
7 4 ?

Dari ketiga data di atas ini terdapat dua kategori Baik dan satu Jelek. Sehingga dapat simpulkan
bahwa kelas dari data barunya yaitu Baik.
Contoh Soal :

Diketahui sebuah dataset yang menggambarkan data Customer(kelas A atau B) berdasarkan 2 atribut
yaitu umur(x) dan penghasilan(y) .

X Y Class
29 350 A
51 430 B
33 290 A
24 255 A
40 410 B
45 380 B
34 390 ?

1. K = 3
2.

X Y Class
29 350 A d= √ (29−34 )2+(350−390)2 =¿40,31 3
51 430 B d= √ (51−34)2 +(430−390)2=43 , 46 4
33 290 A d= √ (33−34 )2+(290−390)2 =¿ 100,01 5
24 255 A d= √ (24−34)2 +(255−390)2=¿ 135,37 6
40 410 B d= √ (40−34)2 +(410−390)2=¿ 20,88 2
45 380 B d= √ (45−34)2 +(380−390)2=¿ 14,87 1
34 390 ?

3.

X Y Class
29 350 A d= √ (29−34 )2+(350−390)2 =¿40,31 3
40 410 B d= √(40−34)2 +(410−390)2=¿ 20,88 2
45 380 B d= √ (45−34)2 +(380−390)2=¿ 14,87 1
34 390 ?

Dari ketiga data terdekat tersebut terdapat dua kelas B dan satu kelas A. Sehingga dapat disimpulkan
bahwa kelas dari data baru adalah B.

Anda mungkin juga menyukai