## ISSN 2085-4552
Klasifikasi Anjing dan Kucing menggunakan Algoritma Linear Discriminant Analysis dan Support Vector Machine
Suryadi Darmawan Salim 1 , Alethea Suryadibrata 2*
Informatics, Universitas Multimedia Nusantara, Tangerang, Indonesia suryadi.darmawan@student.umn.ac.id alethea@umn.ac.id
Diterima 29 Maret 2019
Disetujui 24 Juni 2019
Abstract —  One  of  the  factors  driving  technological development  is  the  increase  in  computers  ability  to complete  various  jobs.  One  of  them  is  doing  image processing,  which  is  widely  used  in  our  daily  life,  such as the use of fingerprints, face/iris recognition barcodes, medical  needs,  and  various  other  uses.  Classification  is one of the applications of image processing that is used the  most.  One  algorithm  that  can  be  used  for  the development  of  image  classification  systems  is  Linear Discriminant  Analysis  (LDA)  and  Support  Vector Machine (SVM). LDA is a feature extraction algorithm to find a subspace that separates classes well. SVM is a classification  algorithm,  based  on  the  idea  of  finding  a hyperplane  that  best  divides  a  dataset  into  classes.  In this study, LDA and SVM algorithms were tested on the dog  and  cat  classification  system,  with  the  highest  F- score  calculation  results  being  0.69  with  200  training data  and  50  testing  data  for  cats  and  0.64  with  200 training data and 30 testing data for dogs.
Index  Terms —  image  processing,  classification,  Linear Discriminant Analysis, Support Vector Machine

## I. P ENDAHULUAN
Kemampuan seorang manusia dalam melakukan  pengenalan  terhadap  sesama  manusia, hewan,  dan  objek  lainnya,  merupakan  sebuah kemampuan  yang  luar  biasa.  Kemampuan visual manusia  tersebut  kemudian  diubah  ke  dalam  sebuah sistem yang disebut dengan Computer Vision . Tujuan dari Computer Vision adalah  membangun  sebuah model dari sistem visual manusia dan juga melakukan otomatisasi  tugas yang dapat dikerjakan oleh sistem visual manusia [7].
Salah  satu  penerapan Computer  Vision adalah pada image  processing ,  yang  digunakan  dalam berbagai  kegiatan.  Klasifikasi  merupakan  sebuah teknik pada image processing . Tujuan dari klasifikasi adalah  menyusun  objek  yang  akan  diamati  ke  dalam kategori yang telah didefinisikan [17].
Gambar 1 Gambar Anjing dan Kucing Seorang  manusia  dapat  dengan  mudah membedakan  anjing  dan  kucing  pada  Gambar  1,  hal ini  disebabkan  oleh  pengetahuan dan  pelatihan  ( data dan training ) terhadap fitur yang dimiliki oleh anjing dan  kucing  [18].  Hal  yang  sama  juga  dapat diaplikasikan  pada  komputer,  dengan  menggunakan teknik  ekstraksi  fitur,  yang  bertujuan  untuk  memilih dan  menyimpan  fitur  yang  unik  [3]  dan  dilanjutkan dengan  teknik  klasifikasi  untuk  mengklasifikasikan data yang telah didapatkan. Sebuah komunitas online bernama  Kaggle  yang  didirikan  oleh  Google,  pernah mengadakan  sebuah  kompetisi  untuk  melakukan klasifikasi  anjing  dan  kucing.  Para  peserta  dapat melakukan  klasifikasi  terhadap  data  yang  telah disediakan dengan menggunakan berbagai kombinasi teknik  untuk  mendapatkan  tingkat  akurasi  yang paling tinggi.
Salah  satu  teknik  ekstraksi  fitur  yang digunakan pada klasifikasi adalah Linear Discriminant Analysis (LDA). Pada sebuah penelitian [3]  tentang  perbandingan  antara  algoritma  Principal Component Analysis (PCA), Independent Component Analysis  (ICA),  dan  LDA  pada  sistem  pengenalan wajah, LDA menunjukkan tingkat akurasi yang lebih tinggi dibandingkan dengan 2 algoritma lainnya.
Gambar 2 Perbandingan Kombinasi PCA+SVM, LDA+SVM, ICA+SVM untuk mengukur akurasi
Support  Vector  Machine  (SVM)  merupakan sebuah algoritma klasifikasi yang awalnya dikembangkan  oleh  Vapnik  dkk  (1963).  Beberapa penelitian  menunjukkan  bahwa  SVM  mampu memberikan  performa  lebih  tinggi  dalam  tingkat akurasi  pada  proses  klasifikasi  data  dibandingkan dengan algoritma klasifikasi lainnya [16].

## II. L ANDASAN T EORI

## A. Digital Image Processing
Digital  Image  Processing (DIP)  merupakan sebuah  cara  untuk  memproses  gambar  digital menggunakan berbagai algoritma [11].
Perkembangan  DIP  mulai  terlihat  pada  tahun  1960, saat  komputer  yang  cukup  kuat  untuk  melakukan tugas image processing muncul. Salah satu penerapan komputer tersebut untuk melakukan image processing adalah  pada  sebuah  laboratorium  di Pasadena,  California  tahun  1964  untuk  memproses gambar bulan yang ditransmisikan oleh Ranger 7 [6].
Sebuah  gambar,  dapat  direpresentasikan  dengan fungsi f ( s , t ),  dimana s dan t merupakan  variabel kontinyu  ( continous  variable ),  yang  kemudian  akan dibentuk  menjadi  sebuah array 2  dimensi,  yang berukuran  M  baris  dan  N  kolom    [6]  seperti  yang ditunjukkan pada Gambar 3. Array tersebut kemudian akan  diubah  kebentuk  matriks  sebelum  digunakan dalam image processing seperti  yang  ditunjukkan pada Gambar 4 (0, .5, dan 1 merepresentasikan warna hitam, abu-abu, dan putih).
Gambar 3 Gambar yang direpresentasikan ke dalam Array 2 Dimensi
Gambar 4 Matriks yang Merepresentasikan Sebuah Gambar Digital

## B. Ekstraksi Fitur
Ekstraksi fitur, merupakan sebuah teknik untuk mendapatkan  suatu  informasi  dari  sebuah  pola sehingga  mempermudah  prosedur  klasifikasi  [9]. Ekstraksi  fitur  memberikan  informasi  yang  paling relevan  dari  sumber  data  dan  merepresentasikannya ke  ruang  dimensi  yang  lebih  rendah.  Dalam klasifikasi anjing dan kucing, contoh fitur yang dapat diambil adalah, alat bergerak, bentuk wajah, panjang ekor, dan lainnya.
Ekstraksi  fitur  terbagi  atas  beberapa  proses, yaitu dimensionality  reduction , feature  extraction , dan feature selection [10].
a. Dimentionality Reduction
Merupakan  sebuah  proses  mengurangi  jumlah variabel yang dipertimbangkan dengan mendapatkan sejumlah kumpulan variabel utama.
b. Feature Extraction Merupakan  sebuah  proses  mengambil  fitur  dari sebuah data. Lalu mengubah atau menggabungkan data agar dapat  memilih dimensi yang lebih kecil dari fitur original .
c. Feature Selection
Merupakan  sebuah  proses  mendapatkan  fitur terbaik  dari  kumpulan  data  yang  diberikan,  lalu menghapus berbagai fitur yang tidak berhubungan.

## C. Linear Discriminant Analysis
LDA menyediakan data set dari fitur-fitur yang menyimpan informasi paling bersangkutan yang akan digunakan  pada  proses  klasifikasi.  Metode  ini merupakan skema berbasis proyeksi dari kompleksitas  kecil  yang  menghindari  adanya  iterasi pada pencarian atau komputasi, yang memungkinkan ekstraksi fitur dapat dilakukan pada kecepatan  tinggi [4].  LDA  bekerja  dengan  menentukan  sebuah subspace dengan  memaksimalkan  perpisahan  antar kelas  (between-class  scatter  / S B )  dan  meminimalkan perpisahan dalam kelas (within-class scatter / S W ) [3] yang  dapat  direpresentasikan  dengan  persamaan berikut [2].
Persamaan  tersebut  dapat  diselesaikan  dengan beberapa tahap sebagai berikut [3][5].
a. Diketahui sampel {x 1 , x 2 , …, x N }. b. N 1 dimiliki  oleh  kelas  w 1 ,  N 2 oleh  kelas  w 2 ,  N c oleh kelas w c . c. Menghitung rata-rata dalam kelas ( class mean / mean  vector )  dan  rata-rata  total  kelas ( overall mean ) dari seluruh data.
d. Tentukan matriks sebaran dalam kelas (S W ).

## ISSN 2085-4552
Dimana:
S i = scatter within tiap kelas µ i = mean vector
e. Tentukan matris sebaran antar kelas (S B ).
Dimana: µ = overall mean
f. Cari eigenvalue (λ) dan eigenvector (v).
g. Mengurutkan eigenvalue sesuai  dengan  urutan yang paling besar.
h. Mengambil  dua eigenvalue terbesar  yang memiliki paling banyak informasi.
D. Klasifikasi
Klasifikasi, merupakan teknik untuk mengelompokkan 1 atau lebih objek yang diamati, ke dalam  sebuah  label  atau  kategori  yang  sudah didefinisikan  [17],  seperti  mengelompokkan  hewan berdasarkan  kelasnya,  mengelompokkan  tipe-tipe  sel pada manusia, mengelompokkan tata surya berdasarkan bentuknya, dan lainnya.
Berdasarkan  data  training  yang  digunakan, klasifikasi terbagi atas 2 jenis:
a. Supervised Classification Merupakan  proses  menggunakan  data  yang  telah diketahui  untuk  mengklasifikasikan  data  asing  [8]. Contoh  algoritma    [15]:  Logistic  Regression,  Naïve Bayes,  SVM  (Support  Vector  Machine),  ANN (Artificial Neural Networks), dan Random Forests.
b. Unsupervised Classification
Merupakan  proses clustering ,  yaitu  pembagian data  asing  dalam  jumlah  tertentu  menjadi  beberapa kelompok  berdasarkan  fitur  yang  serupa  [8].  Contoh algoritma  [15]:  K-Means  Clustering,  PCA  (Principal Component Analysis), dan Autoencoder.

## E. Support Vector Machine
Pada  penelitian  Srivastava  dan  Bhambhu (2005),  menyatakan  bahwa  SVM  merupakan  bagian dari  metode supervised learning yang  digunakan pada  klasifikasi  dan  regresi.  SVM  mencari  sebuah hyperplane yang dapat dengan baik memisahkan data menjadi  beberapa  kelas.  Dua hyperplane paralel dikonstruksi  pada  tiap  sisi hyperplane yang memisahkan data.
Pada  SVM  terdapat  beberapa  fungsi kernel yang  paling  banyak  digunakan.  Fungsi  tersebut digunakan  saat  data  tidak  dapat  dipisahkan  secara linear, jadi data akan diubah ke tingkat dimensi yang lebih  tinggi,  setelah  itu  data  dapat  diklasifikasikan. Berikut  merupakan  beberapa  fungsi  kernel  yang paling umum digunakan. [16].
a. Linear Kernel
b. Polynomial Kernel
c. RBF (Radial Basis Function) Kernel
d. Sigmoid Kernel Dimana adalah parameter kernel .
Menurut  penelitian  Srivastava  dan  Bhambhu (2005),  RBF  merupakan  fungsi  utama kernel karena beberapa hal.
a. RBF  melakukan  map  sampel  secara non - linear ke dimensi ruang lebih tinggi tidak seperti linear kernel .
b. RBF memiliki hyperparameter lebih sedikit dari polynomial kernel .
c. RBF memiliki sedikit tingkat kesulitan numerikal.
Kernel RBF  memiliki  beberapa hyperparameter yang  digunakan  yaitu gamma dan  C  [1]. Gamma merupakan  parameter  yang  menentukan  penyebaran wilayah  keputusan  ( decision  region ).  Nilai  dari gamma mempengaruhi  bentuk  dari hyperplane yang memisahkan  data. Parameter C  menentukan  tingkat toleransi  terhadap  kesalahan  saat  mengklasifikasikan data.
F. Confusion Matrix
Confusion matrix merupakan  sebuah table yang  mengandung  informasi  hasil  klasifikasi  yang terdiri  dari  nilai  benar  ( actual )  dan  hasil  prediksi ( predicted ) [12].
Gambar 5 Confusion Matrix
Nilai confusion matrix pada Gambar 5  adalah sebagai berikut.
a. Nilai  a  merupakan  jumlah  prediksi  benar  yang menyatakan kelas tersebut bernilai negatif.
b. Nilai  b  merupakan  jumlah  prediksi  salah  yang menyatakan kelas tersebut bernilai positif.
c. Nilai  c  merupakan  jumlah  prediksi  salah  yang menyatakan kelas tersebut bernilai negatif.
d. Nilai  d  merupakan  jumlah  prediksi  benar  yang menyatakan kelas tersebut bernilai positif.
Berdasarkan  pada  Gambar  5,  dapat  dilakukan perhitungan beberapa nilai sebagai berikut [12].
a. True Positive (TP), merupakan porsi nilai positif yang diklasifikasikan dengan benar.
b. False  Positive (FP),  merupakan  porsi  nilai negatif  yang  diklasifikasikan  sebagai  nilai positif.
c. True  Negative (TN),  merupakan  porsi  nilai negatif yang diklasifikasikan dengan benar.
d. False  Negative (FN),  merupakan  porsi  nilai positif  yang  diklasifikasikan  sebagai  nilai negatif.
Kemudian 4 nilai tersebut dapat digunakan untuk mencari  nilai precision dan recall .  Pengertian  serta persamaan  untuk  mendapatkan precision dan recall adalah sebagai berikut [14]. a. Precision
Precision mencari nilai positif dari hasil prediksi yang memberikan nilai positif.
b. Recall Recall mencari  nilai  positif  yang  berhasil diprediksi  dari  total  nilai  positif  aktual.  Recall juga dapat disebut sebagai true positive rate .
Salah  satu  standar  pengukuran  tingkat akurasi yang menggunakan nilai precision dan recall adalah perhitungan F- score (F- measure ). Perhitungan F- score dilakukan dengan mencari rata-rata harmonik ( harmonic mean ) dari precision dan recall [13].
III. P ERANCANGAN S ISTEM
Gambar 6 Flowchart Utama Sistem Pada  Gambar  6  menunjukkan flowchart utama  dari  sistem  klasifikasi  anjing  dan  kucing. Fungsi training dari  sistem  terdiri dari  membuat  dan memilih training data ,  setelah  itu  dilakukan train . Fungsi testing dari sistem terdiri atas 2 yaitu memilih testing data dan melakukan testing .

## IV. I MPLEMENTASI DAN U JI C OBA

## A. Implementasi
Gambar 7 Menu Utama Sistem Pada Gambar 7 menunjukkan menu utama dari sistem  klasifikasi  anjing  dan  kucing.  Terdapat beberapa  tombol  yang  dapat  digunakan  untuk membuat dan memilih training data , kemudian dapat dilakukan  proses train .  Setelah  mendapatkan  hasil training , dapat dilanjutkan dengan melakukan testing data dengan memilih data seperti pada Gambar 8.
Gambar 8 Memilih Testing Data

## ISSN 2085-4552
Gambar 9 Hasil Testing Data Setelah memilih gambar, dapat menekan tombol test , dan  sistem  akan  menampilkan  hasil  prediksi  seperti pada Gambar 9.

## B. Evaluasi
Dalam  evaluasi  hasil  penelitian,  dilakukan perbandingan  nilai  F- score berdasarkan  jumlah training data dan testing data yang  digunakan. Jumlah training data yang  akan  digunakan  adalah 100,  150,  dan  200.  Sedangkan  jumlah testing data yang akan digunakan adalah 30, 40, dan 50. Training dan testing data yang digunakan merupakan data dari Kaggle.
Tabel 1 Hasil Evaluasi Data Kucing
Cat 100 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.50 0.27 0.35 2. 40 0.55 0.30 0.39 3. 50 0.56 0.36 0.44 150 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.45 0.33 0.38 2. 40 0.57 0.40 0.47 3. 50 0.57 0.52 0.54 200 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.65 0.73 0.69 2. 40 0.62 0.75 0.68 3. 50 0.63 0.76 0.69 Tabel 2 Hasil Evaluasi Data Anjing Dog 100 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.50 0.73 0.59 2. 40 0.52 0.75 0.61
3. 50 0.53 0.72 0.61 150 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.47 0.60 0.53 2. 40 0.54 0.70 0.61 3. 50 0.56 0.60 0.58 200 Training Data No. Testing Data Precision  Recall  F-score 1. 30 0.69 0.60 0.64 2. 40 0.69 0.55 0.61 3. 50 0.70 0.56 0.62
Pada  Tabel  1  dan  2    menunjukkan  hasil perhitungan  F- score untuk  data  kucing  dan  anjing. Nilai  F- score tertinggi  yang  didapatkan  adalah  0.69 untuk kucing dengan menggunakan 200 training data dan  50 testing data .  Untuk  data  anjing  didapatkan nilai F- score tertinggi yaitu 0.64 dengan menggunakan 200 training data dan 30 testing data .

## V. K ESIMPULAN DAN S ARAN

## A. Kesimpulan
Berdasarkan  penelitian  yang  telah  dilakukan, implementasi algoritma Linear Discriminant Analysis dan  Support  Vector  Machine  pada  sistem  klasifikasi anjing  dan  kucing  telah  berhasil  dilakukan.  Hasil yang didapatkan  dari uji  coba  berupa  tingkat  akurasi yang diukur menggunakan F- score , yang menghasilkan  tingkat  akurasi  tertinggi  0.69  untuk kucing  dengan  menggunakan  200 training data dan 50 testing data ,  sedangkan  F- score untuk  anjing adalah  0.64  dengan  menggunakan  200 training data dan  30 testing data .  Tingkat  akurasi  tersebut dipengaruhi  oleh  beberapa  faktor  seperti  jumlah training data ,  ukuran  gambar,  kemiripan  fitur  antara anjing  dan  kucing,  seperti  telinga,  bentuk  tubuh, warna kulit.

## B. Saran
Berdasarkan  kesimpulan  yang  didapatkan  dari penelitian, berikut adalah saran pengembangan sistem untuk meningkatkan tingkat akurasi klasifikasi. 1. Menambahkan  jumlah training data .  Pada  hasil penelitian dapat dilihat bahwa terjadi peningkatan F- score saat menambahkan jumlah training data .
2. Meningkatkan  resolusi  gambar  yang  digunakan pada training dan testing .  Semakin  besar  ukuran gambar, maka gambar dapat menyimpan informasi lebih banyak. Namun perlu diperhatikan bahwa  ukuran  gambar  yang  terlalu  besar  juga
dapat  meningkatkan  daya  kerja  komputer, sehingga dapat memperlambat proses training .
3. Mencoba  menggunakan  algoritma  lain  seperti
Convolutional Neural Networks (CNN), k-Nearest Neighbor  (k-NN),  Logistic  Regression  untuk melakukan proses klasifikasi.
D AFTAR P USTAKA
[1] Albon, C. (2017). SVC Parameters When Using RBF Kernel.
[online] Chris Albon. Tersedia di: https://chrisalbon.com/machine_learning/support_vector_mac hines/svc_parameters_using_rbf_kernel/  [Diakses  15  Januari
2019].
[2] Bishop,  C.M.  (2006). Pattern  Recognition  and  Machine Learning .  New  York:  Springer  Science+Business  Media, LLC, hh. 188-192.
[3] Bouzalmat,  A.,  Kharroubi,  J.,  &  Zarghili,  A.  (2014). Comparative Study of PCA, ICA, LDA, using SVM Classifier . Sidi  Mohamed  Ben  Abdellah  University,  Route  d’Imouzzer B.P.2202, Morocco.
[4] Etemad,  K.,  &  Chellappa,  R.  (1997). Discriminant  Analysis for  Recognition  of  Human  Face  Images .  University  of Maryland, College Park, Maryland.
[5] Fandiansyah,  Sari,  J.Y.,  Ningrum,  I.P.  (2017). Pengenalan Wajah  Menggunakan  Metode  Linear  Discriminant  Analysis dan  k  Nearest  Neighbor .  Universitas  Halu  Oleo,  Kendiri,
Indonesia.
[6] Gonzales,  R.C.,  &  Woods,  R.E.  (2008). Digital  Image Processing .  3rd  ed.  New  Jersey:  Pearson  Education,  Inc. hh.4-55.
[7] Huang,  T.S.  (1996). Computer  Vision:  Evolution  and Promise .  University  of  Illinois,  Urbana  and  Champaign, Illinois, U.S.
[8] Kamavisdar,  P.,  Saluja,  S.,  &  Agrawal,  S.  (2013).  A  Survey on  Image  Classification  Approaches  and  Techniques. International  Journal  of  Advanced  Research  in  Computer and Communication Engineering , 2(1), hh.1005-1009.
[9] Kumar,  G.,  &  Bhatia,  P.K.  (2014). A  Detailed  Review  of Feature  Extraction  in  Image  Processing  Systems .  Panipat Institute of Engg. & Technology, Panipat, Haryana, India.
[10] Marques, I. (2010). Face Recognition Algorithms . University of the Basque Country, Vizcaya, Spanyol.
[11] Muthuselvi,  S.  &  Prabhu,  P.  (2016).  Digital  Image Processing  Techniques  –  A  Survey. Golden  Research Thoughts , 5 (11), hh.1-2.
[12] Santra, A.K., & Christy, C.J. (2012). Genetic Algorithm and Confusion  Matrix  for  Document  Clustering.  International Journal of Computer Science Issues, 9(1), hh. 322-328.
[13] Sasaki,  Y.  (2007). The  Truth  of  F-measure .  University  of Manchester, Manchester, United Kingdom.
[14] Shung,  K.  P.  (2018). Accuracy,  Precision,  or  F1? .  [online] Towards Data Science. Tersedia
di: https://towardsdatascience.com/accuracy-precision-recall-or- f1-331fb37c5cb9 [Diakses 15 Desember 2018].
[15] Soni,  D.  (2018). Supervised  vs.  Unsupervised  Learning .
[online] Towards Data Science. Tersedia di: https://towardsdatascience.com/supervised-vs-unsupervised- learning-14f68e32ea8d [Diakses 15 Desember 2018].
[16] Srivastava.  D.  K.,  &  Bhambhu,  L.  (2005). Data Classification  Using  Support  Vector  Machine .  BRCM
College  of  Engineering  and  Technology,  Bahal,  Bhiwani, Haryana, India.
[17] Tan, P.N., Steinbach, M., dan Kumar, V. (2005). Introduction to  Data  Mining .  1st  ed.  Boston:  Addison-Wesley  Longman Publishing Co., Inc., h.146.
[18] Vera, Ryan., Valdez, H., Gerhat, T., dan Guzman, M. (2012). Matrix  Methods  for  Geometric  Data  Analysis  and  Pattern Recognition, Cats and Dogs Classification Project