• Tidak ada hasil yang ditemukan

Metode Algoritma KNN

N/A
N/A
Protected

Academic year: 2021

Membagikan "Metode Algoritma KNN"

Copied!
10
0
0

Teks penuh

(1)

DATA MINING

METODE CLASIFIKATION

K-NEARST NEIGHBOR (KNN)

Oleh :

I.G.A Oka Widiarsana 0804505009

Wandana Narayana Putra 0804505010

I Gede Putra Budiyasa 0804505034

I Nyoman Agi Bismantara M 0804505035

Nyoman Sarasuartha Mahajaya 0804505036

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDY TEKNOLOGI INFORMASI FAKULTAS TEKNIK

UNIVERSITAS UDAYANA 2011

(2)

Algoritma K-Nearst Neighbor

Algoritma k-nearest neighbor (KNN) adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut. KNN termasuk algoritma supervised learning dimana hasil dari query instance yang baru diklasifikan berdasarkan mayoritas dari kategori pada KNN. Nanti kelas yang paling banyak muncullah yang akan menjadi kelas hasil klasifikasi.

Tujuan dari algoritma ini adalah mengklasifikasikan obyek baru bedasarkan atribut dan training sample. Classifier tidak menggunakan model apapun untuk dicocokkan dan hanya berdasarkan pada memori. Diberikan titik query, akan ditemukan sejumlah k obyek atau (titik training) yang paling dekat dengan titik query. Klasifikasi menggunakan voting terbanyak diantara klasifikasi dari k obyek.. algoritma k-nearest neighbor (KNN) menggunakan klasifikasi ketetanggaan sebagai nilai prediksi dari query instance yang baru.

Algoritma metode k-nearest neighbor (KNN) sangatlah sederhana, bekerja berdasarkan jarak terpendek dari query instance ke training sample untuk menentukan KNN-nya. Training sample diproyeksikan ke ruang berdimensi banyak, dimana masing-masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi training sample. Sebuah titik pada ruang ini ditandai kelas c jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah tetangga terdekat dari titik tersebut. Dekat atau jauhnya tetangga biasanya dihitung berdasarkan Euclidean Distance.

Jarak Euclidean paling sering digunakan menghitung jarak. Jarak euclidean berfungsi menguji ukuran yang bisa digunakan sebagai interpretasi kedekatan jarak antara dua obyek. yang direpresentasikan sebagai berikut :

Da,b =k=1d(Xk-Yk)2 X1 =[X

1, X2, ...Xp] dan Y1 =[Y1, Y2, ...Yp]

Adalah D2

(x,y) = (X1 – Y1)2 + (X2 – Y2)2 + ... + (Xp – Yp)2

(3)

dimana matriks D(a,b) adalah jarak skalar dari kedua vektor a dan b dari matriks dengan ukuran d dimensi.

Semakin besar nilai D akan semakin jauh tingkat keserupaan antara kedua individu dan sebaliknya jika nilai D semakin kecil maka akan semakin dekat tingkat keserupaan antar individu tersebut.

Nilai k yang terbaik untuk algoritma ini tergantung pada data. Secara umum, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi semakin kabur. Nilai k yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross-validation. Kasus khusus dimana klasifikasi diprediksikan berdasarkan training data yang paling dekat (dengan kata lain, k = 1) disebut algoritma nearest neighbor.

Ketepatan algoritma KNN sangat dipengaruhi oleh ada atau tidaknya fitur-fitur yang tidak relevan atau jika bobot fitur tersebut tidak setara dengan relevansinya terhadap klasifikasi. Riset terhadap algoritma ini sebagian besar membahas bagaimana memilih dan memberi bobot terhadap fitur agar performa klasifikasi menjadi lebih baik.

Langkah-langkah untuk menghitung metode K-Nearest Neighbor : 1. Menentukan parameter K (jumlah tetangga paling dekat).

2. Menghitung kuadrat jarak euclid (query instance) masing–masin obyek terhadap data sampel yang diberikan.

3. Kemudian mengurutkan objek–bjck tersebut kedalam kelompok yang mempunyai jarak euclid terkecil.

4. Mengumpulkan kategori Y (Klasifikasi nearest neighbor)

5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas maka dapat dipredisikan nilai query instance yang telah dihitung.

(4)

Terdapat beberapa data yang berasal dari survey questioner tentang klasifikasi kualitas kertas tissue apakah baik atau jelek, dengan objek testing menggunakan dua attribute yaitu daya tahan terhadap asam dan kekuatan.

Table 1.1 klasifikasi data X1 = Daya tahan asam (detik) X2 = Kekuatan (Kg/m2) Y = Klasifikasi 8 4 Baik 4 5 Jelek 4 6 Jelek 7 7 Baik 5 6 Jelek 6 5 Baik

Kemudian akan diproduksi kembali kertas tisu dengan attribute X1=7 dan X2=4 tanpa harus mengeluarkan biaya untuk melakukan survey, maka dapat diklasifikasikan kertas tise tersebut termasuk yang baik atau jelek.

Adapun prosedur k-nearest neighbor secara lengkap adalah sebagai berikut:

1. Menentukan parameter K (Jumlah tetangga paling dekat), misalkan kita menggunakan K = 4.

2. Menghitung kuadrat jarak euclid (query-instance) masing-masing objek terhadap sampel data yang diberikan.

Koordinat query-instance adalah (7,4) dimana nilai tersebut berasal dari nilai attribut yang akan diproduksi.

Tabel 1.2 perhitungan jarak euclid X1 = Daya tahan

asam (detik)

X2 = Kekuatan (kg/m2)

Square distance to query distance (7,4) 8 4 (8-7)2 + (4-4)2 = 1 4 5 (4-7)2 + (5-4)2 = 10 4 6 (4-7)2 + (6-4)2 = 13 7 7 (7-7)2 + (7-4)2 = 9 5 6 (5-7)2 + (6-4)2 = 8 6 5 (6-7)2 + (5-4)2 = 2

3. Kemudian mengurutkan objek-objek termasuk ke dalam kelompok yang mempunyai jarak euclid terkecil.

(5)

Tabel 1.3 pengurutan jarak euclid terkecil X1 = Daya tahan asam (detik) X2 = Kekuatan (kg/m2) Square distance to query distance (7,4) Jarak Terkecil Apakah termasuk nearest neighbor (K) 8 4 (8-7)2 + (4-4)2 = 1 1 Ya 4 5 (4-7)2 + (5-4)2 = 10 5 Tidak 4 6 (4-7)2 + (6-4)2 = 13 6 Tidak 7 7 (7-7)2 + (7-4)2 = 9 4 Ya 5 6 (5-7)2 + (6-4)2 = 8 3 Ya 6 5 (6-7)2 + (5-4)2 = 2 2 Ya

4. Mengumpulkan kategori Y (klasifikasi nearest neighbor). Tabel 1.4 klasifikasi nearest neighbor

X1= Daya tahan asam (detik) X2= Kekuatan (Kg/m2) Square distance to

query distance (7,4) Jarak terkecil Apakah termasuk nearest neighbor (K) Y= kategori nearest neighbor 8 4 (8-7)2 + (4-4)2 = 1 1 Ya Baik 4 5 (4-7)2 + (5-4)2 = 10 5 Tidak -4 6 (4-7)2 + (6-4)2 = 13 6 Tidak -7 7 (7-7)2 + (7-4)2 = 9 4 Ya Baik 5 6 (5-7)2 + (6-4)2 = 8 3 Ya Jelek 6 5 (6-7)2 + (5-4)2 = 2 2 Ya Baik

5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas, maka dapat diprediksikan nilai query instance yang telah dihitung.

Kita mempunyai kualitas 3 baik dan 1 jelek, karena 3 > 1 maka kita simpulkan bahwa bahan yang baru melewati tes kualitas dengan menetapkan hasil produksi attribute x1=7 dan x2=4 termasuk ketegori BAIK.

(6)

Terdapat beberapa data yang berasal dari survey questioner tentang klasifikasi kualitas kertas tissue apakah baik atau jelek, dengan objek testing menggunakan dua attribute yaitu daya tahan terhadap asam dan kekuatan.

Table 1.5 klasifikasi data X1 = Daya tahan asam (detik) X2 = Kekuatan (Kg/m2) Y = Klasifikasi 8 4 Baik 4 5 Jelek 4 6 Jelek 7 7 Baik 5 6 Jelek 6 5 Baik

Kemudian akan diproduksi kembali kertas tisu dengan attribute X1=4 dan X2=7 tanpa harus mengeluarkan biaya untuk melakukan survey, maka dapat diklasifikasikan kertas tisu tersebut termasuk yang baik atau jelek.

Adapun prosedur k-nearest neighbor secara lengkap adalah sebagai berikut:

1. Menentukan parameter K (Jumlah tetangga paling dekat), misalkan kita menggunakan K = 4.

2. Menghitung kuadrat jarak euclid (query-instance) masing-masing objek terhadap sampel data yang diberikan.

Koordinat query-instance adalah (4,7) dimana nilai tersebut berasal dari nilai attribut yang akan diproduksi.

Tabel 1.6 perhitungan jarak euclid X1 = Daya tahan

asam (detik)

X2 = Kekuatan (kg/m2)

Square distance to query distance (4,7) 8 4 (8-4)2 + (4-7)2 = 25 4 5 (4-4)2 + (5-7)2 = 4 4 6 (4-4)2 + (6-7)2 = 1 7 7 (7-4)2 + (7-7)2 = 9 5 6 (5-4)2 + (6-7)2 = 2 6 5 (6-4)2 + (5-7)2 = 8

3. Kemudian mengurutkan objek-objek termasuk ke dalam kelompok yang mempunyai jarak euclid terkecil.

(7)

Tabel 1.7 pengurutan jarak euclid terkecil X1 = Daya tahan asam (detik) X2 = Kekuatan (kg/m2) Square distance to query distance (4,7) Jarak Terkecil Apakah termasuk nearest neighbor (K) 8 4 (8-4)2 + (4-7)2 = 25 6 Tidak 4 5 (4-4)2 + (5-7)2 = 4 3 Ya 4 6 (4-4)2 + (6-7)2 = 1 1 Ya 7 7 (7-4)2 + (7-7)2 = 9 5 Tidak 5 6 (5-4)2 + (6-7)2 = 2 2 Ya 6 5 (6-4)2 + (5-7)2 = 8 4 Ya

4. Mengumpulkan kategori Y (klasifikasi nearest neighbor). Tabel 1.8 klasifikasi nearest neighbor

X1= Daya tahan asam (detik) X2= Kekuatan (Kg/m2) Square distance to query distance (4,7) Jarak terkecil Apakah termasuk nearest neighbor (K) Y= kategori nearest neighbor 8 4 (8-4)2 + (4-7)2 = 25 6 Tidak -4 5 (4-4)2 + (5-7)2 = 4 3 Ya Jelek 4 6 (4-4)2 + (6-7)2 = 1 1 Ya Jelek 7 7 (7-4)2 + (7-7)2 = 9 5 Tidak -5 6 (5-4)2 + (6-7)2 = 2 2 Ya Jelek 6 5 (6-4)2 + (5-7)2 = 8 4 Ya Baik

5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas, maka dapat diprediksikan nilai query instance yang telah dihitung.

Kita mempunyai kualitas 3 Jelek dan 1 baik, karena 3 > 1 maka kita simpulkan bahwa bahan yang baru melewati tes kualitas dengan menetapkan hasil produksi attribute x1=4 dan x2=7 termasuk ketegori JELEK.

(8)

Terdapat beberapa data yang berasal dari survey questioner tentang klasifikasi kualitas makanan siap saji apakah bagus atau jelek, dengan objek testing menggunakan tiga attribute yaitu Takaran saji, jumlah saji perkemasan dan energy total.

Table 1.9 klasifikasi data X1 = Takaran saji (gr) X2 = Jumlah Saji perkemasan X3 = Energi Total Y = Klasifikasi 40 5 60 Jelek 50 8 40 Bagus 50 7 30 Jelek 70 4 60 Bagus 80 4 80 Bagus 60 6 60 Bagus

Kemudian akan mengetes kualitas makanan siap saji dengan attribute X1=50, X2=3 dan X3=40, maka dapat diklasifikasikan makanan tersebut termasuk yang bagus atau jelek.

1. Menentukan parameter K (Jumlah tetangga paling dekat), misalkan kita menggunakan K = 4.

2. Menghitung kuadrat jarak euclid (query-instance) masing-masing objek terhadap sampel data yang diberikan.

Koordinat query-instance adalah (50,3,40) dimana nilai tersebut berasal dari nilai attribut yang akan diproduksi.

Tabel 1.10 perhitungan jarak euclid X1 = Takaran saji (gr) X2 = Jumlah Saji perkemasan X3 = Energi Total

Square distance to query distance (50,3,40) 40 5 60 (40-50)2 + (5-3)2 + (60-40)2= 504 50 8 40 (50-50)2 + (8-3)2 + (40-40)2= 25 50 7 30 (50-50)2 + (7-3)2 + (30-40)2= 116 70 4 60 (70-50)2 + (4-3)2 + (60-40)2= 801 80 4 80 (80-50)2 + (4-3)2 + (80-40)2= 2501 60 6 60 (60-50)2 + (6-3)2 + (60-40)2= 509

(9)

3. Kemudian mengurutkan objek-objek termasuk ke dalam kelompok yang mempunyai jarak euclid terkecil.

Tabel 1.11Pengurutan jarak euclid terkecil X1 = Takaran saji (gr) X2 = Jumlah Saji perkemas an X3 = Energi Total Square distance to query distance (50,3,40) Urutan jarak Terkecil Apakah termasuk nearest neighbor (K) 40 5 60 (40-50)2 + (5-3)2 + (60-40)2= 504 3 Ya 50 8 40 (50-50)2 + (8-3)2 + (40-40)2= 25 1 Ya 50 7 30 (50-50)2 + (7-3)2 + (30-40)2= 116 2 Ya 70 4 60 (70-50)2 + (4-3)2 + (60-40)2= 801 5 Tidak 80 4 80 (80-50)2 + (4-3)2 + (80-40)2= 2501 6 Tidak 60 6 60 (60-50)2 + (6-3)2 + (60-40)2= 509 4 Ya

4. Mengumpulkan kategori Y (klasifikasi nearest neighbor). Tabel 1.12 klasifikasi nearest neighbor

X1 = Takaran saji (gr) X2 = Jumlah Saji perkemasan X3 = Energi Total Square distance to query distance (50,3,40) Jarak Terkecil Apakah termasuk nearest neighbor (K) Y= kategori nearest neighbor 40 5 60 (40-50)2 + (5-3)2 + (60-40)2= 504 3 Ya Jelek 50 8 40 (50-50)2 + (8-3)2 + (40-40)2= 25 1 Ya Bagus 50 7 30 (50-50)2 + (7-3)2 2 Ya Jelek

(10)

+ (30-40)2= 116 70 4 60 (70-50)2 + (4-3)2 + (60-40)2= 801 5 Tidak -80 4 80 (80-50)2 + (4-3)2 + (80-40)2= 2501 6 Tidak -60 6 60 (60-50)2 + (6-3)2 + (60-40)2= 509 4 Ya Bagus

5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas, maka dapat diprediksikan nilai query instance yang telah dihitung.

Kita mempunyai kualitas 2 Jelek dan 2 baik, karena nilai Y sama maka yang dipilih adalah jelek.

Maka kita simpulkan bahwa kualitas makanan siap saji telah melewati tes kualitas dengan menetapkan hasil produksi attribute X1=50, X2=3 dan X3=40 termasuk ketegori JELEK.

Dari penjelasan diatas algoritma K-Nearest ini memiliki kelebihan yang terdiri dari :

1. Dapat menghasilkan data yang kuat atau jelas (khususnya jika menggunakan turunan perkalian kuadrat pada besaran jarak)

2. Efektif jika digunakan untuk data yang besar

Dari beberapa kelebihannya maka K-Nearest juga memiliki kekurangan yaitu : 1. Membutuhkan nilai K sebagai parameter.

2. Jarak dari data percobaan tidak dapat jelas dengan tipe jarak yang digunakan dan dengan atribut yang digunakan untuk menghasilkan hasil yang terbaik, maka harus menggunakan semua atribut atau hanya 1 aribut yang telah pasti.

3. Perhitungan harga sangat tinggi karena percobaan ini membutuhkan perhitungan jarak dari beberapa query untuk semua data percobaan.

Gambar

Tabel 1.2  perhitungan jarak euclid
Tabel 1.3 pengurutan jarak euclid terkecil X1 = Daya  tahan asam  (detik) X2 =  Kekuatan (kg/m2) Square distance to query distance (7,4) Jarak  Terkecil Apakah  termasuk nearest  neighbor (K) 8 4 (8-7) 2  + (4-4) 2  = 1 1 Ya 4 5 (4-7) 2  + (5-4) 2  = 10 5
Tabel 1.6  perhitungan jarak euclid
Tabel 1.7 pengurutan jarak euclid terkecil X1 = Daya  tahan asam  (detik) X2 =  Kekuatan (kg/m2) Square distance to query distance (4,7) Jarak  Terkecil Apakah  termasuk nearest  neighbor (K) 8 4 (8-4) 2  + (4-7) 2  = 25 6 Tidak 4 5 (4-4) 2  + (5-7) 2  = 4
+3

Referensi

Dokumen terkait

Kesimpulan yang diperoleh berdasarkan penelitian yang telah dilakukan yaitu akurasi testing tertinggi dari klasifikasi abstrak Jurnal Komputasi diperoleh pada

Pada penelitian ini, terdapat tiga proses utama yang akan dilakukan oleh sistem yaitu proses preprocessing , proses term weighting dan proses klasifikasi dengan

Berikut ini adalah data hasil pengujian metode FCH untuk parameter nilai k terhadap kalsifikasi kualitas kunig telur, klasifikasi kualitas kuning telur menggunakan 33 data citra

Dalam klasifikasi sidik jari terdapat beberapa metode ektraksi ciri untuk mengenali objek-objek pada citra sidik jari seperti yang tertulis pada[16] dengan menggunakan

Memanfaatkan algoritma jaringan saraf tiruan Back Propagation yang merupakan algoritma yang digunakan pada proses klasifikasi objek yaitu proses training dan

Dalam klasifikasi sidik jari terdapat beberapa metode ektraksi ciri untuk mengenali objek-objek pada citra sidik jari seperti yang tertulis pada[16] dengan menggunakan

Dalam penelitian ini akan membahas mengenai klasifikasi abjad Bahasa isyarat statis dan dinamis, sebelum dilakukan tahap pengujian, terdapat tahap akuisisi data

Salah satu cara untuk mendeteksi klasifikasi kualitas air yang bisa dikonsumsi dalam machine learning yatiu menggunakan dataset sebagai data latih agar dapat dilakukan pengujian