57208138 Metode Algoritma KNN

10
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

description

Algoritma KNN

Transcript of 57208138 Metode Algoritma KNN

Page 1: 57208138 Metode Algoritma KNN

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

Page 2: 57208138 Metode Algoritma KNN

Algoritma K-Nearst NeighborAlgoritma 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 =[X1, X2, .....Xp] dan Y1 =[Y1, Y2, .....Yp]

Adalah

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

= (X – Y) (X – Y) = (Y – X) (Y – X)

Page 3: 57208138 Metode Algoritma KNN

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.

Contoh Data :

Page 4: 57208138 Metode Algoritma KNN

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 Baik4 5 Jelek4 6 Jelek7 7 Baik5 6 Jelek6 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 = 14 5 (4-7)2 + (5-4)2 = 104 6 (4-7)2 + (6-4)2 = 137 7 (7-7)2 + (7-4)2 = 95 6 (5-7)2 + (6-4)2 = 86 5 (6-7)2 + (5-4)2 = 2

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

Page 5: 57208138 Metode Algoritma KNN

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 Ya4 5 (4-7)2 + (5-4)2 = 10 5 Tidak4 6 (4-7)2 + (6-4)2 = 13 6 Tidak7 7 (7-7)2 + (7-4)2 = 9 4 Ya5 6 (5-7)2 + (6-4)2 = 8 3 Ya6 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 Baik4 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 Baik5 6 (5-7)2 + (6-4)2 = 8 3 Ya Jelek6 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.

Contoh Ke-2 :

Page 6: 57208138 Metode Algoritma KNN

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 Baik4 5 Jelek4 6 Jelek7 7 Baik5 6 Jelek6 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 = 254 5 (4-4)2 + (5-7)2 = 44 6 (4-4)2 + (6-7)2 = 17 7 (7-4)2 + (7-7)2 = 95 6 (5-4)2 + (6-7)2 = 26 5 (6-4)2 + (5-7)2 = 8

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

Page 7: 57208138 Metode Algoritma KNN

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 Tidak4 5 (4-4)2 + (5-7)2 = 4 3 Ya4 6 (4-4)2 + (6-7)2 = 1 1 Ya7 7 (7-4)2 + (7-7)2 = 9 5 Tidak5 6 (5-4)2 + (6-7)2 = 2 2 Ya6 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 Jelek4 6 (4-4)2 + (6-7)2 = 1 1 Ya Jelek7 7 (7-4)2 + (7-7)2 = 9 5 Tidak -5 6 (5-4)2 + (6-7)2 = 2 2 Ya Jelek6 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.

Contoh Data 3 :

Page 8: 57208138 Metode Algoritma KNN

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 Jelek50 8 40 Bagus50 7 30 Jelek70 4 60 Bagus80 4 80 Bagus60 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= 50450 8 40 (50-50)2 + (8-3)2 + (40-40)2= 2550 7 30 (50-50)2 + (7-3)2 + (30-40)2= 11670 4 60 (70-50)2 + (4-3)2 + (60-40)2= 80180 4 80 (80-50)2 + (4-3)2 + (80-40)2= 250160 6 60 (60-50)2 + (6-3)2 + (60-40)2= 509

Page 9: 57208138 Metode Algoritma KNN

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

Page 10: 57208138 Metode Algoritma KNN

+ (30-40)2= 11670 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.