KATA PENGANTAR
Assalamu’alaikum Assalamu’alaikum Wr. Wb.
Segala puji bagi Allah SWT yang telah memberikan rahmat dan karunia Nya, sehingga penyusun dapat menyelesaikan tugas makalah mengenai Nearest Neighbors Neighbors dengan sebaik mungkin. Makalah ini disusun untuk memenuhi tugas Machine Learning yang yang bertujuan untuk mempelajari lebih dalam dan mengetahui Nearest Neighbors. 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 teman yang telah memberikan semangat dan dukungannya. Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca. Wassalamu’alaikum Wr. Wb.
Lhokseumawe, 07 Mei 2014 2014 Hormat kami
Penyusun
i
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
ii
DAFTAR GAMBAR
Gambar 2.1. ilustrasi kasus 1-NN ........................................................................... 4
iii
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
iv
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.
2
BAB II PEMBAHASAN
A. Pengertian Nearest N ei ghbor
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.
3
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
4
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 N eigh bor (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, Xik = nilai X pada training data
5
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 6
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.
7
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 1 2 3 4
Jenis Kelamin Laki-Laki Perempuan Laki-Laki Perempuan
Pendidikan S1 SMA SMA S2
Status Bekerja Tidak Bekerja Bekerja Bekerja
Bermasalah Ya Tidak Tidak 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 Jenis Kelamin Pendidikan Status
Bobot 0.5 1 0.75
Kedekatan antara nilai-nilai dalam atribut juga perlu didefinisikan. Tabel 2.3. Kedekatan Nilai Atribut Jenis Kelamin Jenis Kelamin Laki-Laki
Perempuan
Nilai1 Laki-Laki Perempuan Laki-Laki Perempuan
L 1 0 Nilai2 Laki-Laki Perempuan Perempuan Laki-Laki
P 0 1 Kedekatan 1 1 0 0
8
Tabel 2.4. Kedekatan Nilai Atribut Pendidikan Pendidikan SMA S1 S2 Nilai1 S2 S2 S2 S1 S1 S1 SMA SMA SMA
SMA 1 0.5 0
Nilai2 S2 S1 SMA S1 S2 SMA SMA S1 S2
S1 0.5 1 0.5
S2 0 0.5 1
Kedekatan 1 0.5 0 1 0.5 0.5 1 0.5 0
Tabel 2.5. Kedekatan Nilai Atribut Status Status Bekerja Tidak Bekerja Nilai1 Bekerja Tidak Bekerja Bekerja Tidak Bekerja
Bekerja 1 0
Tidak Bekerja 0 1
Nilai2 Bekerja Tidak Bekerja Tidak Bekerja Bekerja
Kedekatan 1 1 0 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:
9
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
Jarak
b d f (1 * 0.5) (0.5*1) (0* 0.75) 0.5 1 0.75
Jarak
1
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
10
Dihitung: (a * b) (c * d ) (e * f )
Jarak
Jarak
b d f (0 * 0.5) (1*1) (1* 0.75) 0.5 1 0.75
Jarak
1.75
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
Jarak
b d f (1 * 0.5) (1*1) (1* 0.75) 0.5 1 0.75
Jarak
1.5
2.25 Jarak 0.667
11
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
Jarak
b d f (0 * 0.5) (0 * 1) (0 * 0.75) 0.5 1 0.75
Jarak
0
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 Ti dak Ber masalah
12
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.
13
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
14