Anda di halaman 1dari 17

i

KATA PENGANTAR

Assalamualaikum Wr. Wb.
Segala puji bagi Allah SWT yang telah memberikan rahmat dan karunia-
Nya, sehingga penyusun dapat menyelesaikan tugas makalah mengenai Nearest
Neighbors dengan sebaik mungkin. Makalah ini disusun untuk memenuhi tugas
Machine Learning yang bertujuan untuk mempelajari lebih dalam dan mengetahui
Nearest Neighbors. Saya mencoba menyajikan makalah ini dengan berbagai
sumber yang kami dapatkan dari kegiatan belajar selama perkuliahan berlangsung
juga referensi dari buku dan teman teman, selain itu Saya mencari materi dari
media cetak dan Teknologi Informasi, yakni internet.
Saya menyadari dalam penyusunan makalah ini terdapat banyak
kekurangan, maka dari itu kami mengharapkan pembaca dapat memberikan kritik
dan saran yang bersifat membangun, sehingga di hari kemudian penyusunan
makalah kami dapat lebih baik.
Dan akhirnya, penyusun mengucapkan rasa terima kasih kepada bapak
Atthariq sebagai dosen pengajar yang memberikan bimbingan juga teman teman
yang telah memberikan semangat dan dukungannya. Semoga makalah ini dapat
memberikan wawasan yang lebih luas kepada pembaca.
Wassalamualaikum Wr. Wb.

Lhokseumawe, 07 Mei 2014
Hormat kami

Penyusun

ii

DAFTAR ISI

KATA PENGANTAR ............................................................................................. i
DAFTAR ISI ........................................................................................................... ii
DAFTAR GAMBAR ............................................................................................. iii
DAFTAR TABEL .................................................................................................. iv
BAB I PENDAHULUAN ....................................................................................... 2
A. Latar Belakang ......................................................................................... 2
B. Tujuan Penulisan ...................................................................................... 2
C. Manfaat Penulisan .................................................................................... 2
BAB II PEMBAHASAN ........................................................................................ 3
A. Pengertian Nearest Neighbor ................................................................... 3
B. Algoritma 1 - Nearest Neighbor (1-NN) .................................................. 4
C. Algoritma k - Nearest Neighbor (k-NN) .................................................. 5
D. Contoh Kasus Penyelesaian Menggunakan Nearest Neighbor ................ 8
BAB III PENUTUP .............................................................................................. 13
A. Kesimpulan ............................................................................................. 13
DAFTAR PUSTAKA ........................................................................................... 14


iii

DAFTAR GAMBAR

Gambar 2.1. ilustrasi kasus 1-NN ........................................................................... 4


iv

DAFTAR TABEL
Tabel 2.1. Tabel Kasus ............................................................................................ 8
Tabel 2.2. Definisi Bobot Atribut ........................................................................... 8
Tabel 2.3. Kedekatan Nilai Atribut Jenis Kelamin ................................................. 8
Tabel 2.4. Kedekatan Nilai Atribut Pendidikan ...................................................... 9
Tabel 2.5. Kedekatan Nilai Atribut Status .............................................................. 9


2

BAB I
PENDAHULUAN
A. Latar Belakang
Klasifikasi adalah proses untuk menemukan model atau fungsi yang
menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk
dapat memperkirakan kelas dari suatu objek yang labelnya belum diketahui.
Model itu sendiri dapat berupa aturan jika-maka, berupa decision tree,
formula matematis atau neural network. Salah satu metode klasifikasi yaitu
Nearest Neighbor.
B. Tujuan Penulisan
Tujuan penulisan makalah ini adalah untuk memenuhi salat satu tugas dari
matakuliah Machine Learning. Selain itu, penulisan makalah ini juga
memiliki tujuan :
Untuk memahami algoritma Nearest Neighbor
Untuk memahami penggunaan algoritma Nearest Neighbor
Untuk memahami kelebihan dan kelemahan menggunakan algoritma
Nearest Neighbor
C. Manfaat Penulisan
Penulisan makalah ini diharapkan dapat memberikan manfaat bagi penulis
khususnya serta bagi para pembaca pada umumnya. Diharapkan dengan
membaca makalah ini dapat memberikan pengetahuan mengenai pohon
keputusan.


3

BAB II
PEMBAHASAN

A. Pengertian Nearest Neighbor
Algoritma Nearest Neighbor (NN) merupakan algoritma pendekatan untuk
mencari kasus dengan menghitung kedekatan antara kasus baru dengan kasus
lama yaitu berdasarkan pencocokan bobot dari sejumlah atribut yang ada
(Kusrini & Emha, 2009). Nearest Neighbor akan mengklasifikasikan hanya
jika atribut dari kasus baru sesuai dengan salah satu atribut pada kasus lama
(Ricci, F et al., 2010). Perhitungan jarak kedekatan antara kasus baru dengan
kasus lama biasanya memakai metrik jarak. Satuan jarak yang umumnya
digunakan adalah euclidian.
Algoritma Nearest Neighbor (NN) memiliki nama lain, yaitu:
1. lazy algorithm
2. memory-based
3. instance-based
4. exemplar-based
5. case-based
6. experience-based
Jenis algoritma Nearest Neighbor ada 2, yaitu:
1. 1-NN, yaitu pengklasifikasikan dilakukan terhadap 1 labeled data
terdekat.
2. K-NN, yaitu pengklasifikasikan dilakukan terhadap k labeled data
terdekat dengan k>1.




4

B. Algoritma 1 - Nearest Neighbor (1-NN)
1-Nearest Neighborhood (1-NN) adalah suatu metode yang menggunakan
sebuah labeled data terdekat. Langkah-langkah untuk menghitung algoritma
1-NN:
1. Menghitung jarak antara data baru ke setiap labeled data
2. Menentukan 1 labeled data yang mempunyai jarak yang paling
minimal
3. Mengklasifikasikan data baru ke dalam labeled data tersebut.

Berikut ini adalah ilustrasi algoritma 1-NN:

Gambar 2.1. ilustrasi kasus 1-NN
Pada ilustrasi diatas, data baru (node warna biru) akan diklasifikaikan ke
dalam kelompok hipertensi dan tidak hipertensi. Dari kelima data yang
tersebar dalam kelompok hipertensi dan tidak hipertensi, data input (node
biru) lebih dekat dengan salah satu pada kelompok hipertensi. Dengan
5

demikian, dapat disimpulkan bahwa data baru tersebut termasuk ke dalam
kelompok hipertensi.
Rumus euclide distance yang digunakan dalam metode 1-NN untuk
mengambil keputusan dengan menghitung jarak terpendek antara input
dengan masing-masing data yang penentuan bobot atau label dilakukan
secaraacak atau random yaitu:

(2.1)



C. Algoritma k - Nearest Neighbor (k-NN)
k-Nearest Neighborhood (k-NN) adalah suatu metode yang menggunakan
algoritma supervised dimana hasil dari query instance yang baru
diklasifikasikan berdasarkan mayoritas dari label class pada k-NN. Tujuan
dari algoritma k-NN adalah mengklasifikasikan objek baru berdasarkan
atribut dan training data.
Algoritma k-NN bekerja berdasarkan jarak terpendek dari query instance
ke training data untuk menentukan k-NN-nya. Salah satu cara untuk
menghitung jarak dekat atau jauhnya tetangga menggunakan metode
euclidian distance.
Ecludian Distance sering digunakan untuk menghitung jarak. Euclidian
Distance berfungsi menguji ukuran yang bisa digunakan sebagai interpretasi
kedekatan jarak antara dua obyek, di bawah ini merupakan rumus Ecludian
Distance:

(2.2)

Dimana,
X
ik
= nilai X pada training data
6

X
jk
= nilai X pada testing data
m = batas jumlah banyaknya data

Jika hasil nilai dari rumus di atas besar maka akan semakin jauh tingkat
keserupaan antara kedua objek dan sebaliknya jika hasil nilainya semakin
kecil maka akan semakin dekat tingkat keserupaan antar objek tersebut.
Objek yang dimaksud adalah training data dan testing data.

Dalam algoritma ini, nilai k yang terbaik itu tergantung pada jumlah data.
Ukuran nilai k yang besar belum tentu menjadi nilai k yang terbaik begitupun
juga sebaliknya.

Langkah-langkah untuk menghitung algoritma k-NN:

1. Menentukan nilai k.
2. Menghitung kuadrat jarak euclid (query instance) masing-masing objek
terhadap training data yang diberikan.
3. Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang
mempunyai jarak euclid terkecil.
4. Mengumpulkan label class Y (klasifikasi Nearest Neighborhood).

Pada fase pembelajaran, algoritma ini hanya melakukan penyimpanan
vektor-vektor fitur dan klasifikasi dari data pembelajaran. Pada fase
klasifikasi, fitur-fitur yang sama dihitung untuk data test (yang klasifikasinya
tidak diketahui). Jarak dari vektor yang baru ini terhadap seluruh vektor data
pembelajaran dihitung, dan sejumlah k buah yang paling dekat diambil. Titik
yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak
dari titik-titik tersebut.
Nilai k yang terbaik untuk algoritma ini tergantung pada data; secara
umumnya, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi,
tetapi membuat batasan antara setiap klasifikasi menjadi lebih kabur. Nilai k
yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan
7

menggunakan cross-validation. Kasus khusus di mana klasifikasi
diprediksikan berdasarkan data pembelajaran yang paling dekat (dengan kata
lain, k = 1) disebut algoritma nearest neighbor.
Ketepatan algoritma k-NN ini 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.
Terdapat beberapa jenis algoritma pencarian tetangga terdekat, diantaranya:
Linear scan
Pohon kd
Pohon Balltree
Pohon metrik
Locally-sensitive hashing (LSH)

Kelebihan k-NN
Algoritma k-NN ini memiliki konsistensi yang kuat. Ketika jumlah
data mendekati tak hingga, algoritma ini menjamin error rate yang
tidak lebih dari dua kali Bayes error rate (error rate minimum
untuk distribusi data tertentu).
k-NN tangguh terhadap training data yang noisy dan efektir apabila
data latihnya beesar
Kelemahan k-NN
k-NN perlu menentukan nilai dari parameter k (jumlah dari
tetangga terdekat)
Pembelajaran berdasarkan jarak tidak jelas mengenai jenis jarak
apa yang harus digunakan dan atribut mana yangg harus digunakan
untuk mendapatkan hasil yang terbaik
Biaya komputasi cukup tinggi karena diperlukan perhitungan jarak
dari tiap sample uji pada keseluruhan sample latih.
8

D. Contoh Kasus Penyelesaian Menggunakan Nearest Neighbor
Contoh kasus ini akan memberikan sebuah contoh untuk penyelesaian
kasus menggunakan Nearest Neighbor.
Kasus :
Kemungkinan seorang nasabah bank akan bermasalah dalam
pembayarannya atau tidak.
Tabel 2.1. Tabel Kasus
No Jenis Kelamin Pendidikan Status Bermasalah
1 Laki-Laki S1 Bekerja Ya
2 Perempuan SMA Tidak Bekerja Tidak
3 Laki-Laki SMA Bekerja Tidak
4 Perempuan S2 Bekerja Ya
Atribut Bermasalah merupakan atribut tujuan.
Bobot antara satu atribut dengan atribut yang lain pada atribut bukan
tujuan dapat didefinisikan dengan nilai berbeda.
Tabel 2.2. Definisi Bobot Atribut
Atribut Bobot
Jenis Kelamin 0.5
Pendidikan 1
Status 0.75
Kedekatan antara nilai-nilai dalam atribut juga perlu didefinisikan.
Tabel 2.3. Kedekatan Nilai Atribut Jenis Kelamin
Jenis Kelamin L P
Laki-Laki 1 0
Perempuan 0 1










Nilai1 Nilai2 Kedekatan
Laki-Laki Laki-Laki 1
Perempuan Perempuan 1
Laki-Laki Perempuan 0
Perempuan Laki-Laki 0
9

Tabel 2.4. Kedekatan Nilai Atribut Pendidikan
Pendidikan SMA S1 S2
SMA 1 0.5 0
S1 0.5 1 0.5
S2 0 0.5 1

Nilai1 Nilai2 Kedekatan
S2 S2 1
S2 S1 0.5
S2 SMA 0
S1 S1 1
S1 S2 0.5
S1 SMA 0.5
SMA SMA 1
SMA S1 0.5
SMA S2 0



Tabel 2.5. Kedekatan Nilai Atribut Status
Status Bekerja Tidak Bekerja
Bekerja 1 0
Tidak Bekerja 0 1

Nilai1 Nilai2 Kedekatan
Bekerja Bekerja 1
Tidak Bekerja Tidak Bekerja 1
Bekerja Tidak Bekerja 0
Tidak Bekerja Bekerja 0

Misalkan ada kasus nasabah baru dengan nilai atribut:
Jenis Kelamin : Laki-Laki
Pendidikan : SMA
Status : Tidak Bekerja

Untuk memprediksi apakah nasabah tersebut akan bermasalah atau tidak dapat
dilakukan langkah-langkah sebagai berikut:
1. Menghitung kedekatan kasus baru dengan kasus no1.
Diketahui:
10

a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki dengan
Laki-laki)
: 1
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA dengan S1)
: 0.5
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja dengan
Bekerja)
: 0
f : Bobot Atribut Status
: 0.75

Dihitung:
(a * b) (c * d ) (e * f )
Jarak
b d f
(1 * 0.5) (0.5*1) (0* 0.75)
Jarak
0.5 1 0.75
1
Jarak
2.25
Jarak 0.44

2. Menghitung kedekatan kasus baru dengan kasus no 2.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki dengan
Perempuan)
: 0
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA dengan SMA)
: 1
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja dengan
Bekerja)
: 1
f : Bobot Atribut Status
: 0.75
11



Dihitung:
(a * b) (c * d ) (e * f )
Jarak
b d f
(0 * 0.5) (1*1) (1* 0.75)
Jarak
0.5 1 0.75
1.75
Jarak
2.25
Jarak 0.778

3. Menghitung kedekatan kasus baru dengan kasus no 3.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki dengan
Laki-laki)
: 1
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA dengan SMA)
: 1
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja dengan
Bekerja)
: 0
f : Bobot Atribut Status
: 0.75

Dihitung:
(a * b) (c * d ) (e * f )
Jarak
b d f
(1 * 0.5) (1*1) (1* 0.75)
Jarak
0.5 1 0.75
1.5
Jarak
2.25
Jarak 0.667



12

4. Menghitung kedekatan kasus baru dengan kasus no 4.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Perempuan dengan
Laki-laki)
: 0
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA dengan S2)
: 0
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja dengan
Bekerja)
: 0
f : Bobot Atribut Status
: 0.75

Dihitung:
(a * b) (c * d ) (e * f )
Jarak
b d f
(0 * 0.5) (0 * 1) (0 * 0.75)
Jarak
0.5 1 0.75
0
Jarak
2.25
Jarak 0

5. Memilih kasus dengan kedekatan terdekat.
Dari langkah 1, 2 dan 3 dapat diketahui bahwa nilai tertinggi
adalah kasus 2. Berarti kasus yang terdekat dengan kasus baru
adalah kasus 2.
6. Menggunakan klasifikasi dari kasus dengan kedekatan terdekat.
Berdasarkan hasil pada langkah 4, maka klasifikasi dari kasus 2
yang akan digunakan untuk memprediksi kasus baru. Yaitu
kemungkinan nasabah baru akan Tidak Bermasalah

13

BAB III
PENUTUP

A. Kesimpulan
Pada metode nearest neighbor semua kasus akan terklasifikasi meskipun
nilai kedekatannya belum tentu 100%. Namun hasil klasifikasi tidak dapat
dijamin kebenarannya karena banyak kasus yang memiliki kedekatan yang
sama dengan beberapa klasifikasi yang berbeda
Keakuratan pencarian kasus lama sangat dipengaruhi oleh penentuan
bobot perbandingan. Dengan menggunakan metode nearest neighbor, proses
testing memerlukan waktu yang lama karena setiap kasus baru akan
dicocokkan dengan semua kasus lama.
Pra proses pada metode nearest neighbor lebih banyak dikarenakan
perlunya penambahan proses penentuan bobot variabel dan penentuan bobot
perbandingan antara nilai_variabel.

14

DAFTAR PUSTAKA

Kusrini, Hartati, S.,. 2007. Penggunaan Penalaran Berbasis Kasus untuk
Membangun Basis Pengetahuan dalam Sistem Diagnosis Penyakit. Proceeding
Seminar Riset Teknologi Informasi (SRITI) 2007. Yogyakarta
Shouman, Mai; Turner, Tim; Stocker, Rob. 2012. Applying K-Nearest Neighbor
in Diagnosing Heart Disease Patients. International Journal of Information
Technology. Vol 2 No 3, June 2012.
Prasetyo, Eko. 2012. Fuzzy K-Nearest Neighbor In Every Class Untuk Klasifikasi
Data. Seminar nasional Teknik Informatika (SANTIKA 2012). Universitas
Pembangunan Nasional Veteran Jawa Timur