Membuat Aplikasi Sederhana Berbasis Support Vector Machine (SVM)

Berikut ini kita akan mencoba membagi kelas IPA, IPS, dan Bahasa terhadap satu kelompok kelas. Istilah yang digunakan untuk lebih dari dua kelas adalah MULTICLASS. Untuk contoh kita buat data IPA, IPS, dan Bahasa dengan data sedikit saja:

Berikutnya kita membuat tiga garis pemisah y1, y2, dan y3 yang akan memisahkan data berdasarkan kriteria seperti gambar di bawah ini:

Pertama kita buat y1:

Berikutnya kita membuat pemisah IPA dan Bahasa, y2:

Terakhir kita membuat pemisah IPS dan Bahasa, y3:

Berikutnya persamaan garis y1, y2, dan y3 dijadikan dasar patokan menentukan jurusan seorang siswa, misalnya IPA= 75, IPS= 85, dan Bahasa= 90]. Kita gunakan y1 untuk menguji apakah IPA atau IPS. Simpan data persamaan garis dalam bentuk file, misalnya namanya y, ketik save y di Command Window.

Karena hasil pengujian tahap pertama masuk kategori IPS, maka pengujian berikutnya dengan y3 untuk menentukan apakah dia IPS atau Bahasa. Perhatikan gambar diagram pohon sebelumnya, dimana jika diperoleh uji pertama = 1, maka digunakan uji ketiga antara IPS dan Bahasa.

Dan hasil akhir diperoleh 2 yang artinya, siswa tesebut masuk kategori kelas bahasa berdasarkan enam data sebelumnya. Bagaimana membuat aplikasi terapannya? Rancang GUI seperti berikut ini:

Gunakan kode berikut ini:

  • load y
  • uji=[handles.ipa handles.ips handles.bahasa]
  • uji1=svmclassify(y1,uji(:,1:2))

 

  • if uji1==0
  • uji2=svmclassify(y2,[uji(:,1) uji(:,3)])
  • if uji2==0
    • msgbox(‘Kelas IPA’)
  • else
    • msgbox(‘Kelas IPS’)
  • end
  • else
  • uji3=svmclassify(y3,uji(:,2:3))
  • if uji3==1
    • msgbox(‘Kelas IPS’)
  • else
    • msgbox(‘Kelas Bahasa’)
  • end
  • end

Masukan data seperti data uji sebelumnya, hasilnya harus sama.