makalah nearest neighbors

23
KATA PENGANTAR 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 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. i

Upload: muhammadnovrizal

Post on 23-Nov-2015

300 views

Category:

Documents


5 download

TRANSCRIPT

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 2014Hormat kami

Penyusun

DAFTAR ISI

KATA PENGANTARiDAFTAR ISIiiDAFTAR GAMBARiiiDAFTAR TABELivBAB I PENDAHULUAN2A.Latar Belakang2B.Tujuan Penulisan2C.Manfaat Penulisan2BAB II PEMBAHASAN3A.Pengertian Nearest Neighbor3B.Algoritma 1 - Nearest Neighbor (1-NN)4C.Algoritma k - Nearest Neighbor (k-NN)5D.Contoh Kasus Penyelesaian Menggunakan Nearest Neighbor8BAB III PENUTUP13A.Kesimpulan13DAFTAR PUSTAKA14

DAFTAR GAMBAR

Gambar 2.1. ilustrasi kasus 1-NN3

DAFTAR TABELTabel 2.1. Tabel Kasus7Tabel 2.2. Definisi Bobot Atribut7Tabel 2.3. Kedekatan Nilai Atribut Jenis Kelamin7Tabel 2.4. Kedekatan Nilai Atribut Pendidikan8Tabel 2.5. Kedekatan Nilai Atribut Status8

ii

BAB IPENDAHULUANLatar BelakangKlasifikasi 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.Tujuan PenulisanTujuan 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 NeighborManfaat PenulisanPenulisan 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.

BAB IIPEMBAHASAN

A. Pengertian Nearest NeighborAlgoritma 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 algorithm2. memory-based3. instance-based4. exemplar-based5. case-based6. experience-basedJenis 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.

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 data2. Menentukan 1 labeled data yang mempunyai jarak yang paling minimal3. Mengklasifikasikan data baru ke dalam labeled data tersebut.

Berikut ini adalah ilustrasi algoritma 1-NN:

Gambar 2.1. ilustrasi kasus 1-NNPada 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 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,Xik = nilai X pada training dataXjk = nilai X pada testing datam = 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 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.D. Contoh Kasus Penyelesaian Menggunakan Nearest NeighborContoh 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 KasusNoJenis KelaminPendidikanStatusBermasalah

1Laki-LakiS1BekerjaYa

2PerempuanSMATidak BekerjaTidak

3Laki-LakiSMABekerjaTidak

4PerempuanS2BekerjaYa

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 AtributAtributBobot

Jenis Kelamin0.5

Pendidikan1

Status0.75

Kedekatan antara nilai-nilai dalam atribut juga perlu didefinisikan.Tabel 2.3. Kedekatan Nilai Atribut Jenis KelaminJenis KelaminLP

Laki-Laki10

Perempuan01

Nilai1Nilai2Kedekatan

Laki-LakiLaki-Laki1

PerempuanPerempuan1

Laki-LakiPerempuan0

PerempuanLaki-Laki0

Tabel 2.4. Kedekatan Nilai Atribut PendidikanPendidikanSMAS1S2

SMA10.50

S10.510.5

S200.51

Nilai1Nilai2Kedekatan

S2S21

S2S10.5

S2SMA0

S1S11

S1S20.5

S1SMA0.5

SMASMA1

SMAS10.5

SMAS20

Tabel 2.5. Kedekatan Nilai Atribut StatusStatusBekerjaTidak Bekerja

Bekerja10

Tidak Bekerja01

Nilai1Nilai2Kedekatan

BekerjaBekerja1

Tidak BekerjaTidak Bekerja1

BekerjaTidak Bekerja0

Tidak BekerjaBekerja0

Misalkan ada kasus nasabah baru dengan nilai atribut: Jenis Kelamin : Laki-LakiPendidikan: SMAStatus: 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: 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 )Jarakb d f (1 * 0.5) (0.5*1) (0* 0.75)Jarak0.5 1 0.75 1Jarak2.25

Jarak 0.44

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

Dihitung: (a * b) (c * d ) (e * f )Jarakb d f (0 * 0.5) (1*1) (1* 0.75)Jarak0.5 1 0.75 1.75Jarak2.25Jarak 0.778

3. Menghitung kedekatan kasus baru dengan kasus no 3.Diketahui: a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki dengan Laki-laki) :1b: Bobot Atribut Jenis Kelamin :0.5 c: Kedekatan nilai atribut Pendidikan (SMA dengan SMA) :1d: 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 )Jarakb d f (1 * 0.5) (1*1) (1* 0.75)Jarak0.5 1 0.75 1.5Jarak2.25Jarak 0.667

4. Menghitung kedekatan kasus baru dengan kasus no 4.Diketahui: a : Kedekatan nilai atribut Jenis Kelamin (Perempuan dengan Laki-laki) :0b: Bobot Atribut Jenis Kelamin :0.5 c: Kedekatan nilai atribut Pendidikan (SMA dengan S2) :0d: 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 )Jarakb d f (0 * 0.5) (0 * 1) (0 * 0.75)Jarak0.5 1 0.75 0Jarak2.25Jarak 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

BAB IIIPENUTUP

1. KesimpulanPada 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 berbedaKeakuratan 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.

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. YogyakartaShouman, 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