Klasifikasi Klasifikasi Klasifikasi merupakan suatu pekerjaan menilai objek
Klasifikasi
Klasifikasi • Klasifikasi merupakan suatu pekerjaan menilai objek data untuk memasukkannya ke dalam kelas tertentu dari sejumlah kelas yang tersedia (Eko Prassetyo, 2012). • Klasifikasi merupakan pekerjaan yang melakukan pelatihan terhadap fungsi target f yang memetakan setiap set attribut x ke satu dari sejumlah label kelas y yang tersedia.
Pekerjaan Klasifikasi 1. Pembangunan model sebagai prototipe untuk disimpan sebagai memory. 2. Penggunaan model untuk melakukan pengenalan/klasifikasi/prediksi pada suatu objek data lain agar diketahui di kelas mana objek data tersebut berada berdasarkan model yang ada.
Pekerjaan Klasifikasi Input Data training(x, y) Algoritma Pelatihan Pembangunan Model Input Data testing (x) Penerapan Model Output Data testing (x, y)
Algoritma Pelatihan • Pembangunan model selama proses pelatihan memerlukan algoritma (algoritma pelatihan, K-Nearest Neighbor, Artificial Neural Network, Support Vector Machine) • Berdasarkan cara pelatihan: – Eager learner Melakukan pembacaan pd data training untuk menghasilkan model. Proses prediksi dilakukan dengan model tsb. (contoh ANN, SVM, Decision Tree, Bayesian) – Lazy learner Sedikit melakukan pelatihan(tdk sama sekali) hanya menyimpan sebagian/seluruh data latih kemudian menggunakannya dlm proses prediksi (contoh K-Nearest Neighbour, Fuzzy KNN, Regresi Linear)
Nearest Neighbor(K-NN) • Merupakan algoritma yang melakukan klasifikasi berdasarkan kedekatan lokasi(jarak) suatu data dengan data lainnya. • K menyatakan jumlah tetangga terdekat. • Jarak Euclidean
• k. NN menentukan kelas suatu objek data baru(data testing) dengan cara mencari pada kelompok k objek dalam data training yang paling dekat (mirip) (Wu, 2009).
Algoritma K-NN • Z=(x', y') data uji dengan vektor x' dan label kelas y' yang belum diketahui • Hitung Jarak d(x', x) jarak antara data uji z ke setiap vektor data latih, simpan dalam D • Ambil K tetangga terdekat pertama • Hitung jumlah data yang mengikuti kelas yang ada dari Ktetangga tersebut • Kelas dengan data terbanyak yang mengikutinya menjadi kelas yang terpilih yang diberikan sebagai label kelas pada data uji y'
Contoh Data latih No X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Y 1 2 3 3 7 1 2 5 3 4 6 1 4 5 2 4 Hitung Jarak setiap data ke data uji Kelas 1 1 1 2 2 3 3 3 4 4 4 5 5 6 6 6 7 7 No 0 0 1 0 1 1 1 1 X Y Kelas d 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 1 2 3 3 7 1 2 5 4 6 1 4 5 2 4 1 1 1 2 2 3 3 3 4 4 5 5 6 6 6 7 7 0 0 1 1 1 0 1 1 9 3 4 0 Data Uji 3. 61 3. 16 3. 00 2. 00 4. 47 2. 24 1. 41 2. 24 1. 00 3. 00 2. 24 3. 16 2. 83 2. 24 2. 83 3. 16 K=1 No X 10 7 4 6 8 12 15 14 16 3 11 2 13 17 18 1 5 Y 4 2 3 1 5 1 4 1 5 3 6 2 4 1 7 Kelas 4 3 2 3 3 5 6 6 6 1 4 1 5 7 7 1 2 d 1 0 0 0 1 0 1 0 1 1. 00 1. 41 2. 00 2. 24 2. 83 3. 00 3. 16 3. 61 4. 47
Contoh KNN Ambil 3 Tetangga terdekat pertama Hitung jumlah data yang mengikuti kelas yang ada dari Ktetangga tersebut Pilih kelas dengan data terbanyak Jadi pada dataset X Y 3 4 Maka prediksi kelasnya adalah 0 K=3 No X 10 7 4 6 8 12 15 14 16 3 11 2 13 17 18 1 5 Y 4 2 3 1 5 1 4 1 5 3 6 2 4 1 7 Kelas 4 3 2 3 3 5 6 6 6 1 4 1 5 7 7 1 2 d 1 0 0 0 1 0 1 0 1 1. 00 1. 41 2. 00 2. 24 2. 83 3. 00 3. 16 3. 61 4. 47
K-NN
Notasi Algoritmik KNN Program KNN Kamus: Tipe Matrix : array[1. . 17, 1. . 3] Tipe Arr: array[1. . 3] A, B: Matrix C: Arr J 0, j 1, j, k : Integer Algoritma: A={{1, 1, 0}, {2, 1, 0}, {3, 2, 0}, {7, 2, 1}, {1, 3, 0}, {2, 3, 0}, {5, 3, 1}, {4, 4, 1}, {6, 4, 1}, {1, 5, 0}, {6, 5, 1}, {1, 6, 0}, {1, 1, 0}, {4, 6, 1}, {5, 6, 1}, {2, 7, 1}, {4, 7, 1} }; C={3, 4, 0} hitung. Jarak(A, B, C, 17, 3) urut(B, 17) j 1=0 j 0=0 k=3 for j=0 to k-1 if Bj 1=1 then j 1=j 1+1 endif if B j 1=0 then j 0=j 0+1 endif endfor if j 1>j 0 then output (kelas=1) else output(kelas=0) endif Procedure hitung. Jarak(A: Matrix, B: Matrix, C: Arr, m, n) I, j: integer sum: real for i=0 to m-1 do sum=0 for(j=0; j<n; j++) sum=sum+abs(Cj - Aij)2 endfor B i 0=sqrt(sum); B i 1=A[i][2]; endfor Procedure urut(A Matrix, m: integer ) I, j: integer For i=0 to m-1 do For j=m downto i-1 do If Aj 0 < A(j-1)0 then Tukar(A j 0 , A(j-1)0 ) Tukar(A j 1 , A(j-1)1 ) endfor
- Slides: 13