Klasifikasi (Season 2) Nearest Neighbor

Slides:



Advertisements
Presentasi serupa
4.1. Hukum-hukum Dasar untuk Sistem
Advertisements

Selamat Datang Dalam Kuliah Terbuka Ini
Vektor dalam R3 Pertemuan
Analisis Outlier.
Bahan Kuliah Matematika Diskrit
Kesimpulan BUKU Data Mining
K Nearest Neighbour. Nearest Neighbour Rule Tersedia beberapa data (x,y) yang terklasifikasi menjadi 2 kelas k = 1 k = 3 Diberikan query point q, titik.
SOAL ESSAY KELAS XI IPS.
ALJABAR.
Kekonvergenan barisan tak hingga
Persamaan linear satu variabel
Analisis Interval Aritmatika Interval.
Materi Kuliah Kalkulus II
STATISTIKA OLEH : SURATNO, S.Pd SMAN 1 KALIWUNGU Kelas XI IPS
Model Sistem Pengenalan Pola
Induksi Matematik TIN2204 Struktur Diskrit.
Selamat Datang Dalam Kuliah Terbuka Ini
Induksi Matematika Materi Matematika Diskrit.
Luas Daerah ( Integral ).
Computer Vision Materi 8
Klasifikasi (Season 1) Naive Bayes
Sistem Berbasis Fuzzy Materi 4
Turunan Numerik Bahan Kuliah IF4058 Topik Khusus Informatika I
Pemrogramman Terstruktur
Progress Final Project Ke-1
Digital Signature Algorithm
Ekonometrika Metode-metode statistik yang telah disesuaikan untuk masalah-maslah ekonomi. Kombinasi antara teori ekonomi dan statistik ekonomi.
DETERMINAN.
13. Graf berbobot (Weighted graph)
Populasi Dan Sampel.
13. Graf berbobot (Weighted graph)
OLEH : IR. INDRAWANI SINOEM, MS.
BAB V (lanjutan) VEKTOR.
Analisa & Perancangan Sistem Informasi
1 28 FEBRUARI 2011 SENSASI DAN TEORI GESTALT. SENSASI “ sense” artinya alat pengindraan, yang menghubungkan organisme dengan lingkungannya. Menurut Dennis.
Fuzzy Clustering Logika Fuzzy Materi Kuliah Prodi Teknik Informatika
Clustering (Season 2) Self-Organizing Map
Pengolahan Citra Digital Materi 6
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
Artificial Immune System
MODUL KULIAH 10 Ekstraksi Fitur Bentuk
ANALISIS OUTLIER 1 Data Mining.
Sistem Berbasis Fuzzy Materi 4
K-SUPPORT VECTOR NEAREST NEIGHBOR UNTUK KLASIFIKASI BERBASIS K-NN
Sistem Berbasis Fuzzy Materi 5
Klasifikasi.
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
Pengenalan Pola Materi 1
Segmentasi Citra Materi 6
Aplikasi Kecerdasan Komputasional
Computer Vision Materi 7
Algoritma kNN (k-Nearest Neighbor)
K-Nearest Neighbor dan K-means
Clustering (Season 1) K-Means
PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Clustering (Season 2) Self-Organizing Map
Analisis Klastering K-Means Model Datamining Kelompok 1 Eko Suryana
PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Algoritma kNN (k-Nearest Neighbor)
Klasifikasi Nearest Neighbor
KLASIFIKASI.
K-Nearest Neighbourhood (KNN)
CLUSTERING.
Segmentasi Citra Materi 6
REKOGNISI CITRA Konsep Dasar Rekognisi
IMPLEMENTASI ALGORITMA k-NN
DECISION SUPPORT SYSTEM [MKB3493]
Universitas Gunadarma
Intro Algoritma K-Nearest Neighbor (K- NN) adalah sebuah metode klasifikasi terhadap sekumpulan data maupun dokumen berdasarkan pembelajaran  data yang.
Algoritma kNN (k-Nearest Neighbor)
Transcript presentasi:

Klasifikasi (Season 2) Nearest Neighbor Pengenalan Pola Materi 3 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012

K-Nearest Neighbor (K-NN)

K-Nearest Neighbor Algoritma yang melakukan klasifikasi berdasarkan kedekatan lokasi (jarak) suatu data dengan data yang lain. Prinsip sederhana yang diadopsi oleh algoritma K- NN adalah: “Jika suatu hewan berjalan seperti bebek, bersuara kwek-kwek seperti bebek, dan penampilannya seperti bebek, maka hewan itu mungkin bebek”. Pada algoritma K-NN, data berdimensi q, dapat dihitung jarak dari data tersebut ke data yang lain, Nilai jarak ini yang digunakan sebagai nilai kedekatan/kemiripan antara data uji dengan data latih.

K-Nearest Neighbor 1 tetangga terdekat (1-NN)

Algoritma K-NN z = (x’,y’), adalah data uji dengan vektor x’ dan label kelas y’ yang belum diketahui Hitung jarak d(x’,x), jarak diantara data uji z ke setiap vektor data latih, simpan dalam D Pilih Dz  D, yaitu K tetangga terdekat dari z

Contoh Data latih Data X Y Kelas 1 2 3 4 5 7 6 8 9 10 11 12 13 14 15 16 17 Data uji adalah data (3,4), fitur X=3, Y=4. Akan dilakukan prediksi, masuk dalam kelas yang manakah seharusnya ? Gunakan jarak Euclidean !

Jarak data uji ke data latih Prediksi dengan K-NN Jarak data uji (3,4) ke 17 data latih Nomor data x y Kelas asli Jarak data uji ke data latih 1-NN 3-NN 7-NN 1 3.6055 --- 2 3.1622 3 4 NN 5 7 4.4721 6 2.2360 1.4142 8 9 10 11 12 13 2.8284 14 15 16 17

Jarak data uji ke data latih Prediksi dengan K-NN Jarak data uji (3,4) ke 17 data latih Nomor data x y Kelas asli Jarak data uji ke data latih 1-NN 3-NN 7-NN 9 4 2 1 NN 7 3 1.414 --- 6 2.236 8 5 11 14 13 2.828 15 10 3.162 12 16 17 3.606 4.472

Prediksi dengan K-NN Untuk K=1 Data latih yang terdekat adalah data nomor 9 (4,4) dengan kelas 1, maka data uji (3,4) diprediksi masuk kelas 1. Untuk K=3 Data latih yang terdekat adalah data nomor 9 (4,4) dengan kelas 1, data nomor 7 (2,3) dan data nomor 4 (3,2) dengan kelas 0, karena kelas 1 berjumlah 1 dan kelas 0 berjumlah 2 (lebih banyak kelas 0 daripada kelas 1) maka data uji (3,4) diprediksi masuk kelas 0. Untuk K=7 Data latih yang terdekat adalah data nomor 8 (5,3), 9 (4,4), 14 (4,6) dengan kelas 1, data nomor 4 (3,2), 6 (1,3), 7 (2,3), dan 11 (1,5) dengan kelas 0, karena kelas 1 berjumlah 3 dan kelas 0 berjumlah 4 (lebih banyak kelas 0 daripada kelas 1) maka data uji (3,4) diprediksi masuk kelas 0.

K-NN di matlab Class = knnclassify(Sample, Training, Group, k, distance, rule) Parameter Keterangan Sample Matrik dimana baris merupakan data, kolom merupakan fitur. Sample merupakan data uji yang akan diklasifikasikan kedalam kelas. Matrik Sample harus mempunyai jumlah kolom (fitur) yang sama dengan matrik Training. Training Matrik yang digunakan untuk mengelompokkan baris didalam matrik Sample. Matrik Traning harus mempunyai jumlah kolom yang sama dengan Sample. Setiap baris dalam matrik Training mempunyai relasi kelas pada baris yang sama pada matrik Group. Group Vektor (matrik 1 kolom) yang setiap barisnya menyatakan kelas dari baris yang sama dalam matrik Training. k Jumlah tetangga terdekat yang digunakan untuk klasifikasi. Nilai defaultnya adalah 1. distance String yang menyatakan metrik jarak yang digunakan untuk mencari tetangga terdekat, pilihannya: ‘euclidean’, jarak Euclidean (default) ‘cityblock’, jarak Manhattan atau jumlah absolut perbedaan nilai antar fitur ‘cosine’, jarak 1 – cos(sudut antara 2 titik) ‘correlation’, jarak 1 – korelasi diantara titik (nilai sekuen) ‘hamming’, jarak prosentase bit yang berbeda (cocok untuk data biner) rule String untuk menetapkan aturan dalam memutuskan bagaimana mengklasifikasikan Sample, pilihannya: ‘nearest’, aturan mayoritas pada titik terdekat (default); ‘random’, aturan mayoritas pada titik secara acak; ‘consensus’, aturan kesepakatan

>> contoh_knn kelas_uji = 2 %Nama file: dataset_buatan.m %x 1 2 3 3 7 1 2 5 3 4 6 1 6 1 4 5 2 4 %y 1 1 1 2 2 3 3 3 4 4 4 5 5 6 6 6 7 7 0.1 0.2 0.1 0.4 0.1 0.2 0.1 0.4 0.1 0.2 0.1 0.4 0.1 0.2 0.1 0.4 0.9 0.8 %kelas 1 1 1 1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 ]; data = data'; %Nama file: contoh_knn.m dataset_buatan idx_latih = [1:8 10:18]; idx_uji = [9]; data_latih = data(idx_latih,1:2); data_uji = data(idx_uji,1:2); kelas_latih = data(idx_latih,3); K = 1; kelas_uji = knnclassify(data_uji, data_latih, kelas_latih, K) >> contoh_knn kelas_uji = 2

Evaluasi K-NN Algoritma yang menggunakan seluruh data latih untuk melakukan proses klasifikasi (complete storage). Mengakibatkan untuk data dalam jumlah yang sangat besar, proses prediksi menjadi sangat lama. Tidak membedakan setiap fitur dengan suatu bobot Pada ANN (Artificial Neural Network) yang berusaha menekan fitur yang tidak punya kontribusi terhadapklasifikasi menjadi 0 pada bagian bobot, NN tidak ada bobot untuk masing-masing fitur. Menyimpan sebagian atau semua data dan hampir tidak ada proses pelatihan, maka K-NN sangat cepat dalam proses training (karena memang tidak ada) tetapi sangat lambat dalam proses prediksi. Hal yang rumit adalah menentukan nilai K yang paling sesuai K-NN pada prinsipnya memilih tetangga terdekat, Parameter jarak juga penting untuk dipertimbangkan sesuai dengan kasus datanya. Euclidean sangat cocok untuk menggunakan jarak terdekat (lurus) antara dua data, tetapi Manhattan sangat robust untuk mendeteksi outlier dalam data.

Fuzzy K-Nearest Neighbor in every Class (FK-NNC)

Framework FK-NNC Diperkenalkan oleh Prasetyo (2012). FK-NNC menggunakan sejumlah K tetangga terdekat pada setiap kelas dari sebuah data uji, bukan K tetangga terdekat seperti pada K- NN dan FK-NN. FK-NNC menggunakan FK-NN sebagai basis kerangka kerja, dimana sebuah data uji mempunyai nilai keanggotaan pada setiap kelas dalam interval [0.1]. Jumlah nilai keanggotaan sebuah data pada semua kelas sama dengan 1 Tanda dot hitam (solid) adalah data uji Tiga tetangga dikelas + dan tiga tetangga dikelas x

Framework FK-NNC – Cont’d Jarak data uji xi ke semua K tetangga dari setiap kelas ke-j dijumlahkan, formula yang digunakan: Nilai m disini merupakan pangkat bobot (weight exponent) seperti pada FK- NN, nilai m > 1. akumulasi jarak data uji xi ke setiap kelas digabungkan, disimbolkan D, formula yang digunakan: Untuk mendapatkan nilai keanggotaan data uji xi pada setiap kelas ke-j (ada C kelas), menggunakan formula: Untuk menentukan kelas hasil prediksi data uji xi, dipilih kelas dengan nilai keanggotaan terbesar dari data xi. Formula yang digunakan: (4) (5) (6) (7)

Algoritma FK-NNC Cari K tetangga terdekat pada setiap kelas, menggunakan formula Hitung S sebagai akumulasi jarak K tetangga pada setiap kelas, menggunakan formula (4) Hitung J sebagai akumulasi semua jarak dari CK tetangga, menggunakan formula (5) Hitung u sebagai nilai keanggotaan data pada setiap kelas, menggunakan formula (6) Pilih nilai keanggotaan terbesar menggunakan formula (7), kelas dengan nilai keanggotaan terbesar menjadi kelas hasil prediksi untuk data uji tersebut.

Contoh Data latih Data X Y Kelas 1 2 3 4 5 7 6 8 9 10 11 12 13 14 15 16 17 Data uji adalah data (3,4), fitur X=3, Y=4. Akan dilakukan prediksi, masuk dalam kelas yang manakah seharusnya ? Gunakan m=2, dan jarak Euclidean !

Jarak data uji ke data latih Prediksi dengan K-NN Jarak data uji (3,4) ke 17 data latih Setelah diurutkan Nomor data x y Kelas asli Jarak data uji ke data latih 1 3.6055 2 3.1622 3 4 5 7 4.4721 6 2.2360 1.4142 8 9 10 11 12 13 2.8284 14 15 16 17 Nomor data x y Kelas asli Jarak data uji ke data latih 7 2 3 1 1.414 4 6 2.236 11 5 13 2.828 3.162 3.606 9 8 14 15 10 12 16 17 4.472

Perhitungan jarak FK-NNC pada data latih No. data x y Kelas asli d K=1 d-2 7 2 3 1.414 NN 0.5002 4 - 6 1 2.236 11 5 13 2.828 3.162 3.606 9 1.0000 8 14 15 10 12 16 17 4.472 S0 S1 D 1.5002 K=3 d-2 K=5 K=7 NN 0.5002 0.2500 0.2000 - 0.1250 0.1111 0.1000 1.0000 0.9502 1.2752 1.4863 1.4000 1.6362 1.8362 2.3502 2.9114 3.3226

Hasil peritungan nilai keanggotaan pada kedua kelas sebagai berikut: Untuk K=1: , Karena u1 > u0, maka data uji diprediksi masuk ke kelas 1 Untuk K=3: , Karena u1 > u0, maka data uji diprediksi masuk ke kelas 1 Untuk K=5: , Karena u1 > u0, maka data uji diprediksi masuk ke kelas 1 Untuk K=7: , Karena u1 > u0, maka data uji diprediksi masuk ke kelas 1

FK-NNC di matlab [prediksi,keanggotaan] = fknnc(data, labels, test, K) Parameter Keterangan data Matrik data latih yang digunakan, berukuran MN, dimana M adalah jumlah data latih, N adalah dimensi data. Baris menyatakan data, kolom menyatakan fitur. labels Matrik berukuran M1 yang menyatakan kelas data latih. Setiap barisnya menyatakan kelas pada baris matrik data. Nilai untuk label kelas adalah (1, 2, …, C) untuk setiap data. Tidak diperbolehkan kelas dengan label 0. test Matrik SN yang menyatakan data uji. S adalah jumlah data uji. Jumlah kolom (fitur) yaitu N harus sama dengan jumlah fitur (kolom matrik data. K Jumlah tetangga terdekat. prediksi Matrik S1 yang menyatakan kelas hasil prediksi untuk setiap data uji dalam matrik test. keanggotaan Matrik SC yang menyatakan nilai keanggotaan matrik data uji ke setiap kelas. C adalah jumlah kelas.

Contoh %Nama file: contoh_fknnc.m dataset_buatan idx_latih = [1:8 10:18]; idx_uji = [9]; data_latih = data(idx_latih,1:3); data_uji = data(idx_uji,1:3); kelas_latih = data(idx_latih,4); kelas_uji_asli = data(idx_uji,4); K = 3; [y,memberships] = fknnc(data_latih, kelas_latih, data_uji, K); display('Kelas hasil prediksi');y display('Nilai keanggotaan'); display('Kelas 1 | Kelas 2');memberships >> contoh_fknnc Kelas hasil prediksi y = 2 Nilai keanggotaan Kelas 1 | Kelas 2 memberships = 0.4043 0.5957

To Be Continued … Klasifikasi (Season 3) ANY QUESTION ?