bab ii landasan teori -...
TRANSCRIPT
6
BAB II
LANDASAN TEORI
Pada bab ini berisi landasan teori yang digunakan untuk mendasari pengerjaan
tugas akhir. Adapun teori yang akan dibahas, yaitu blog, komentar, komentar
spam, data mining, Support Vector Machine (SVM), dan penulisan yang terkait.
Informasi diperoleh dari berbagai macam referensi yang tercantum dalam daftar
pustaka. Berikut adalah pembahasan teori yang digunakan dalam penulisan ini.
2.1 Blog
2.1.1 Pengertian Blog
Weblogs atau blog adalah sebuah web pages yang memiliki sifat lebih seperti
jurnal pribadi online [5]. Blog biasanya digunakan sebagai tempat yang digunakan
untuk mencurahkan pikiran, mulai dari cerita sehari-hari, tentang pengetahuan,
ataupun berita tentang kejadian yang sedang terjadi. Jurnalis melihat blog sebagai
alternatif dari sumber berita dan opini publik, sedangkan pendidik dan pebisnis
melihat blog sebagai media untuk berbagi pengetahuan [6].
Weblogs atau blog juga bisa disebut sebagai sebuah hierarki dari teks, gambar,
media object dan data yang membentuk suatu urutan yang ditampilkan di sebuah
HTML browser [5]. Terdapat beberapa situs yang menyediakan jasa layanan
untuk blog gratis, antara lain wordpress.com, blogger.com, blog.com,
weebly.com, livejournal.com, dan lain-lain. Semakin maraknya situs yang
menyediakan jasa layanan untuk blog gratis, jumlah dari bloggers (sebutan untuk
orang yang melakukan blogging) juga semakin bertambah.
2.1.2 Struktur Blog
Sebuah situs blog terdiri dari susunan blog post atau postingan yang terurut
berdasarkan postingan yang terbaru. Sebuah situs blog biasanya diperbarui dengan
adanya postingan baru. Blog memiliki 4 karakteristik yaitu editor pribadi, struktur
hyperlink, fitur arsip dan bebas, dan akses publik pada konten [7]. Author pada
blog sering memanfaatkan text, hyperlink, gambar dan grafik untuk menulis
sebuah postingan. Author juga dapat menggunakan video dan audio klip untuk
mengisi suatu postingan. Situs blog bisa dimanfaatkan untuk berkomunikasi atau
berinteraksi dengan pembaca dengan menempatkan fitur komentar pada setiap
7
postingan yang ada. Para pembaca dapat berkomunikasi dengan cara berkomentar
atau memberikan opini untuk setiap postingan yang ada. Dalam situs blog, sebuah
postingan dapat secara otomatis diarsipkan dan kontenya dapat dicari berdasarkan
kata kunci menggunakan fungsi pencarian [7]. Agar suatu postingan baru dapat
terindeks dengan cepat, situs blog dapat menggunakan fitur RSS (Rich Site
Summary, atau sering dijuluki Really Simple Syndication) Feeds. Selain itu, RSS
Feeds juga dapat digunakan para pembaca untuk subscribe atau berlangganan
postingan baru yang ada pada situs blog [7].
2.2 Spam
2.2.1. Pengertian Spam
Spamming merujuk ke suatu kegiatan menyediakan informasi yang tidak
diinginkan atau memberikan informasi yang tidak berkaitan atau tidak relevant
kepada user/pengguna [1]. Saat ini, perkembangan spam sangat pesat. Spam
berkembang dengan mencemari dunia maya dengan cara yang berbeda seperti
email, blog post atau postingan, blog komentar, instant messaging, forum, dan di
komentar di berbagai media sosial [3]. Spam bisa sangat mengganggu karena
informasi yang tidak kita butuhkan bisa menumpuk. Misalnya pada email, apabila
terkena spam maka email yang kita terima menumpuk sehingga kita kesulitan
untuk mencari email yang kita butuhkan, apalagi kalau email spam tersebut berisi
virus, malware dan lain sebagainya. Contoh yang lain adalah spam yang terjadi
pada blog komentar, spamming pada komentar blog dapat berbahaya bagi blog,
misalnya akan merusak SEO (Search Engine Optimizer) dari blog sehingga dapat
menurunkan rangking dan page index pada google. Selain itu, spam bisa merusak
reputasi dari sebuah blog karena pembaca akan merasa tidak nyaman apabila
berkunjung ke situs yang dipenuhi dengan adanya spam sehingga menilai buruk
blog tersebut.
2.2.2. Macam-Macam Spam
Spam terdiri dari berbagai macam bentuk yang berbeda dan bisa tersebar di
berbagai media di dunia maya. Salah satunya adalah pada weblogs atau blog. Pada
weblogs atau blog sendiri, spam dibagi menjadi 3 jenis, yaitu :
1. Splogs
8
Slogs (spam blogs) adalah sebuah blog yang memiliki auto-generated yang baik
atau blog yang menjiplak isi atau konten tulisan dari blog lain[2]. Splogs
bertujuan untuk media promosi, iklan hosting, maupun untuk meningkatkan
rangking dan page index. Splogs biasa ditemukan terutama pada platform blog
host karena beberapa alasan, antara lain,
• Untuk menarik perhatian para pengguna yang akrab dengan suatu layanan
untuk mengunjungi splogs tersebut.
• Untuk mengeksploitasi reputasi search-engine dari layanan host, misalnya
untuk meningkatkan rangking ataupun page index.
• Untuk menarik lalu lintas dari blog “tetangga”. Selain itu, layanan hosting
gratis adalah target utama untuk splogs karena biaya minimal untuk mendirikan
suatu blog.
Pada tahun 2007 ditemukan bahwa 75% dari blog pada Google’s free BlogSpot
servis adalah spam [8]. Selain itu, situs blogging yang bersifat gratis mulai dari
livejournal, wordpress, myspace, dan lainnya juga merupakan target spammer.
2. Komentar spam
Komentar spam adalah komentar pada suatu postingan yang berisi spam. Spam
pada komentar dapat memiliki berbagai bentuk antara lain,
• Komentar berisi link aktif. Pada beberapa komentar, link aktif bisa
dianggap spam karena link aktif tersebut biasanya mengarah ke blog lain atau
blog itu sendiri yang bertujuan untuk meningkatkan rangking dan page index.
• Mengisi nama komentar dengan keyword umum. Keyword umum pada
komentar biasanya juga dapat dimanfaatkan untuk meningkatkan rangking dari
blog, karena seringkali kita menggunakan keyword umum untuk melakukan
pencarian di mesin pencari.
• Perbedaan waktu komentar dengan waktu memposting.
• Perbedaan kerterkaitan komentar dengan konten postingan yang dibahas.
• Adanya duplikasi kata. Untuk duplikasi kata, sebuah komentar akan
dianggap sebagai spam apabila mengulang sebuah kata lebih dari 3 (tiga) kali.
• Anonim user. Sebaik apapun komentarnya, apabila tidak mencantumkan
nama biasanya akan dianggap sebagai spam.
• Adanya kalimat promosi.
9
3. Trackback spam
Trackback spam merupakan trackback ditransmisikan melalui protokol berbasis
HTTP dengan API yang tetap. Spesifikasi trackback tidak menyebutkan adanya
verifikasi yang memungkinkan spammer dapat melakukan inject URL menjadi
pesan trackback ping bersamaan dengan menyamarkan teks yang dipilih oleh
spammer sehingga hal ini menyebabkan kelimpahan trackback spam yang
ditargetkan pada perangkat lunak blog yang mendukung [8].
2.3 Data mining
2.3.1 Pengertian Data mining
Data mining didefinisikan sebagai proses untuk mendapatkan infromasi yang
berguna dari gudang basis data yang besar [4]. Selain itu data mining juga bisa
dimanfaatkan sebagi bantuan untuk pengambilan keputusan. Teknik dalam data
mining adalah bagamana caranya kita menelusuri suatu data sehingga data
tersebuat memiliki model yang dapat mengenali pola data lain yang tidak terdapat
pada basis data yang tersimpan. Jadi tujuannya adalah bagaimana mengetahui
adanya pola-pola universal yang ada pada data yang ada.
Gambar 2. 1 bussiness intelligence [4]
Data mining merupakan bagian dari bussiness intelligence (bisnis cerdas).
Berdasarkan pada gambar 2.1, diilustrasikan posisi data mining dan bagiannya
dalam mendukung bussiness intelligence. Sebelum masuk pada data mining bekal
data mentah didapat dari data warehouse. Data warehouse bertugas sebagai
penarik/meng-query basis data mentah untuk memberikan hasil data yang
10
nantinya digunakan oleh bidang yang menangani manajemen, pelaporan dan data
mining.
2.3.2 Pekerjaan dalam Data mining
Pekerjaan data mining dibagi menjadi 4 (empat) kelompok [4] yaitu:
1. Prediction Modelling (model prediski)
Prediction modelling (model prediski) berkaitan dengan pembuatan model yang
dapat melakukan pemetaan terhadap setiap himpunan variable ke setiap targetnya,
kemudian dari model yang diperoleh tersebut dapat memberikan nilai target pada
himpunan yang baru. Ada 2 (dua) jenis model prediski yaitu klasifikasi yang
digunakan untuk variable target diskret, dan regresi digunakan untuk variable
target kontinu.
Contoh dari model prediksi yaitu mengakasifikasi opini dan non-opini pada
komentar untuk mendapatkan kritik dan saran dari suatu produk.
Metode yang dapat digunakan untuk klasifikasi antara lain, Nearest-Neighbor
Classifier, Naïve Bayes Classifier, Artificial Neural Network, Support Vector
Machine (SVM), Fuzzy K-Nearest Neighbor, dan lain-lain.
2. Cluster Analysis (analisis kelompok)
Cluster analysis (analisis kelompok) adalah bagaimana melakukan
pengelompokan data-data ke dalam sejumlah kelompok (cluster) berdasarkan
kesamaa karakteristik dari masing-masing kelompok yang ada.
Contoh dari analisa kelompok yaitu mengetahui pola pembelian barang oleh
konsumen pada waktu-waktu tertentu sehingga dar pola pembelian tersebut,
perusahaan atau pengusaha dapat menentukan jadwal promosi yang dapat
diberikan sehingga omzet perusahaan meningkat.
Metode yang dapat digunakan untuk analisis kelompok antara lain K-Means,
Hierarchical Clusstering, DBSCAN, Fuzzy C-Means, Self-Organizing Map, dan
lain-lain.
3. Association Analysis (analisis asosiasi / hubungan)
Association analysis (analisis asosiasi / hubungan) yaitu analisa yang digunakan
untuk menentukan pola yang menggambarkan hubungan antar fitur dalam data.
Tujuannya adalah untuk menemukan pola yang menarik dengan cara yang efisien.
11
Contoh penerapan analisa asosiasi yaitu analisa keranjang belanja. Misalnya
apabila belanja ke supermarket biasanya seseorang membeli beras, kemungkinan
besar akan membeli minyak atau telur dan kemungkinan kecil akan membeli topi
atau buku. Dari situ diketahui bahwa hubungan antara beras dengan minyak lebih
besar daripada dengan topi. Dari situ bisa digunakan untuk menentukan kira-kira
barang apa saja yang perlu disediakan oleh pengusaha supermarket tersebut.
Metode yang dapat digunakan untuk analisis asosiasi yaitu algoritma apriori.
4. Anomaly Detection (deteksi anomali)
Anomaly detection (deteksi anomali) yaitu analisa yang berkaitan dengan
pengamatan sebuah data daru sejumlah data yang signifikan mempunyai
karakteristik yang berbeda dari sisa data lain. Dari yang berbeda tersebut disebut
outliner. Algoritma deteksi anomali harus mempunyai laju deteksi yang baik dan
laju eror yang rendah.
Contoh deteksi anomali yaitu pada perilaku kondisi cuaca, ataupun bisa juga pada
deteksi serangan hacker pada suatu jaringan.
Metode yang dapat digunakan untuk deteksi anomali antara lain K-Nearest
Neighbor, DBSCAN, Outliner Reomval Clustering, dan lain-lain.
2.4 Perhitungan similarity pada blog post dan komentar
Untuk mendeteksi hubungan antara blog post dan komentar dilakukan dengan
membandingkan isi dari blog post dimana komentar telah ditulis. Komentar non-
spam memiliki hubungan atau kesamaan kata yang lebih banyak dibandingkan
dengan komentar spam. Untuk menentukan kesamaan (similarity) antara blog post
dan komentar dapat dihitung berdasarkan semua kata yang ada pada blog post
maupun komentar yang kemudian dinormalisasi dengan banyaknya kata di
komentar. Perhitungan similarity pada blog post dan komentar ditunjukkan pada
persamaan dibawah ini:
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑃+, 𝐶. = 01 23
|51| |63|= 78,178,39
8:;
78,1<9
8:; 78,3<9
8:;
Keterangan:
𝑃+ = blog post
𝐶. = komentar
𝑤>,+ = frekuensi kata yang muncul pada blog post
(1)
12
𝑤>,. = frekuensi kata yang muncul pada komentar
𝑤>,+ adalah frekuensi kata yang muncul pada blog post. 𝑤>,.. adalah
frekuensi kata yang muncul pada komentar. Frekuensi kata dari komentar dihitung
berdasarkan kata dari blog post. Hasil dari similarity akan menghasilkan nilai
antara 0 hingga 1.
2.5 Support Vector Machine (SVM)
Support Vector Machine (SVM) adalah konsep klasifikasi yang dilakukan dengan
cara mencari hyperplane (batas keputusan) terbaik sebagai fungsi pemisah dua
buah kelas data pada ruang input [4]. Hyperplane pemisah terbaik antara dua
kelas dapat di temukan dengan mengukur margin hyperplane tersebut dan mencari
titik maksimalnya. Margin adalah jarak antara hyperplane dengan data terdekat
dari masing-masing kelas. Data yang paling dekat disebut dengan support vector.
Pada gambar 2.2, menunjukkan bahwa hyperplane yang terbaik yaitu berada tepat
di tengah-tengah kedua kelas, sedangkan lingkaran dan bujur sangkar yang
melewatu batas margin disebut support vector.
Gambar 2. 2 Margin Hyperplane [4]
Pada gambar 2.2, merupakan ilustrasi dari hyperplane klasifikasi linier SVM.
Dalam hal ini fungsi pemisah yang kita cari adalah fungsi linier. Fungsi ini bisa
didefinisikan sebagai :
g(x) := sgn(f(x))
dengan f(x) = wT x + b
(2)
13
Keterangan:
𝑤, 𝑏 = parameter model
𝑥 = atribut (fitur) set untuk data
dimana x, w ∈ Rn dan b ∈ R. Masalah klasifikasi ini bisa dirumuskan sebagai
berikut: kita ingin menemukan set parameter (w, b) sehingga f(xi) =< w, x > +b =
yi untuk semua i. Mencari hyperplane terbaik ekuivalen dengan memaksimalkan
margin atau jarak antara dua set obyek dari kelas yang berbeda. Jika wx1 + b = +1
adalah hyperplane-pendukung (supporting hyperplane) dari kelas +1 (wx1+b = +1)
dan wx2+b = −1 hyperplane-pendukung dari kelas −1 (wx2+b = −1), margin
antara dua kelas dapat dihitung dengan mencari jarak antara kedua hyperplane-
pendukung dari kedua kelas. Secara spesifik, margin dihitung dengan cara berikut
(wx1 + b = +1) − (wx2 + b = −1) ⇒ w(x1 − x2)) = 2 ⇒ 7| 7 |
𝑥A −𝑥C =
C| 7 |
.
Pada gambar 2.3, memperlihatkan bagaimana SVM bekerja untuk menemukan
suatu fungsi pemisah dengan margin maksimal. Untuk membuktikan bahwa
memaksimalkan margin antara dua set obyek akan meningkatkan probabilitas
pengelompokkan secara benar dari data testing.
Gambar 2. 3 Mencari fungsi pemisah yang optimal untuk obyek yang bisa
dipisahkan secara linier [4]
14
Pada dasarnya jumlah fungsi pemisah ini tidak terbatas banyaknya. Misalkan dari
jumlah yang tidak terbatas ini kita ambil dua saja, yaitu f1(x) and f2(x) (lihat
gambar 2.4). Fungsi f1 mempunyai margin yang lebih besar dari pada fungsi f2.
Setelah menemukan dua fungsi ini, sekarang suatu data baru masuk dengan
keluaran −1. Kita harus mengelompokkan apakah data ini ada dalam kelas −1
atau +1 menggunakan fungsi pemisah yang sudah kita temukan. Dengan
menggunakan f1, kita akan kelompokkan data baru ini di kelas −1 yang berarti
kita benar mengelompokkannya. Sekarang coba kita gunakan f2, kita akan
menempatkannya di kelas +1 yang berarti salah. Dari contoh sederhana ini kita
lihat bahwa memperbesar margin bisa meningkatkan probabilitas
pengelompokkan suatu data secara benar.
Gambar 2. 4 Memperbesar margin bisa meningkatkan probabilitas
pengelompokkan suatu data secara benar [4]
Secara matematika, formulasi problem optimisasi SVM untuk kasus klasifikasi
linier di dalam primal space adalah
Keterangan:
xi = data input
yi = hasil klasfifikasi dari xi
min AC | 𝑤 |C
Subject to 𝑦> 𝑤𝑥> + 𝑏 ≥ 1, i =1, …. l(3)
15
dimana xi adalah data input, yi adalah keluaran dari data xi, w, b adalah parameter-
parameter yang kita cari nilainya. Dalam formulasi di atas, kita ingin
meminimalkan fungsi tujuan (obyektif function) AC| 𝑤 |C atau memaksimalkan
kuantitas | 𝑤 |C atau wTw dengan memperhatikan pembatas yi(wxi+ b) ≥ 1. Bila
output data yi = +1, maka pembatas menjadi (wxi + b) ≥ 1.
Sebaliknya bila yi = −1, pembatas menjadi (wxi+b) ≤ −1. Di dalam kasus yang
tidak feasible (infeasible) dimana beberapa data mungkin tidak bisa
dikelompokkan secara benar, formulasi matematikanya menjadi berikut
Keterangan:
ti = variable slack
dimana ti adalah variabel slack. Dengan formulasi ini kita ingin memaksimalkan
margin antara dua kelas dengan meminimalkan | 𝑤 |C. Dalam formulasi ini kita
berusaha meminimalkan kesalahan klasifikasi (misclassification error) yang
dinyatakan dengan adanya variabel slack ti, sementara dalam waktu yang sama
kita memaksimalkan margin, A
| 7 |. Penggunaan variabel slack ti adalah untuk
mengatasi kasus ketidaklayakan (infeasibility) dari pembatas (constraints) yi(wxi +
b) ≥ 1 dengan cara memberi pinalti untuk data yang tidak memenuhi pembatas
tersebut. Untuk meminimalkan nilai ti ini, kita berikan pinalti dengan menerapkan
konstanta ongkos C. Vektor w tegak lurus terhadap fungsi pemisah: wx + b = 0.
Konstanta b menentukan lokasi fungsi pemisah relatif terhadap titik asal (origin).
Problem (4) adalah program nonlinear. Ini bisa dilihat dari fungsi tujuan
(objective function) yang berbentuk kuadrat. Untuk menyelesaikannya, secara
komputasi agak sulit dan perlu waktu lebih panjang. Untuk membuat masalah ini
lebih mudah dan efisien untuk diselesaikan, masalah ini bisa kita transformasikan
ke dalam dual space. Untuk itu, pertama kita ubah problem (4) menjadi fungsi
Lagrangian :
min AC | 𝑤 |C + 𝐶 𝑡>G
>HA
Subject to 𝑦> 𝑤𝑥> + 𝑏 ≥ 1, 𝑡> ≥ 0 , i=1, …, l (4)
16
Keterangan:
αi = Lagrange multiplier
dimana variabel non-negatif αi, dinamakan Lagrange multiplier. Solusi dari
problem optimisasi dengan pembatas seperti di atas ditentukan dengan mencari
saddle point dari fungsi Lagrangian J(w, b, α). Fungsi ini harus diminimalkan
terhadap variabel w dan b dan harus dimaksimalkan terhadap variabel α.
Kemudian kita cari turunan pertama dari fungsi J(w, b, α) terhadap variabel w dan
b dan kita samakan dengan 0. Dengan melakukan proses ini, kita akan
mendapatkan dua kondisi optimalitas berikut:
kondisi 1
kondisi 2
Penerapan kondisi optimalitas 1 pada fungsi Lagrangian (5) akan menghasilkan
Penerapan kondisi optimalitas 2 pada fungsi Lagrangian (5) akan menghasilkan
Menurut duality theorem:
• Jika problem primal mempunyai solusi optimal, maka problem dual juga
akan mempunyai solusi optimal yang nilainya sama
𝐽 𝑤, 𝑏, ∝ = 12𝑤
M𝑤 − ∝>
G
>HA
𝑦> 𝑤N𝑥> + 𝑏 − 1 (5)
𝜕𝐽(𝑤, 𝑏𝛼)𝜕𝑤 = 0
𝜕𝐽(𝑤, 𝑏𝛼)𝜕𝑏 = 0
𝑤 = ∝> 𝑦>𝑥>
G
>HA
∝> 𝑦> = 0G
>HA
(6)
(7)
17
• Bila wo adalah solusi optimal untuk problem primal dan αo untuk problem
dual, maka perlu dan cukup bahwa wo solusi layak untuk problem primal dan
Untuk mendapatkan problem dual dari problem kita, kita jabarkan persamaan (5)
sebagai berikut:
Menurut kondisi optimalitas ke dua dalam (7), term ketiga sisi sebelah kanan
dalam persamaan di atas sama dengan 0. Dengan memakai nilainilai w di (8), kita
dapatkan
maka persamaan (8) menjadi
Selanjutnya kita dapatkan formulasi dual dari problem (4):
Dengan dot product xixj sering diganti dengan simbol K. K adalah matrik kernel
yang dijelaskan dalam bagian (4). Formulasi (11) adalah quadratic programming
(QP) dengan pembatas (constraint) linier. Melatih SVM ekuivalen dengan
Φ wT = J wT, bT, ∝T = minw J(w, b, ∝)
J w, b, ∝ = 12w
Zw − ∝[ y[wZx[ − b ∝[ y[ + ∝[
^
[HA
^
[HA
^
[H^
(8)
(9)
(10)
(11)
18
menyelesaikan problem convex optimization. Karena itu solusi dari SVM adalah
unik (dengan asumsi bahwa k adalah positive definite) dan global optimal. Hal ini
berbeda dengan solusi neural networks [4] yang ekuivalen dengan problem
nonconvex optimization dengan akibat solusi yang ditemukan adalah local optima.
Ambil 𝑓 𝑥 = 𝑦>𝑥>∗𝑘 𝑥>, 𝑥 +𝑏∗G>HA .
Fungsi pemisah optimal adalah 𝑔 𝑥 = 𝑠𝑖𝑔𝑛 𝑦> ∝>∗G>HA 𝑘 𝑥, 𝑥> +𝑏∗,
dimana ∝>∗, 𝑖 = 1,… , 𝑙 adalah solusi optimal dari problem (10) dan b* dipilih
sehingga yif(xi) = 1 untuk sembarang i dengan C > ∝>∗ > 0. Data xi dimana ∝>∗ > 0
dinamakan support vector dan menyatakan data train yang diperlukan untuk
mewakili fungsi keputusan yang optimal. Dalam gambar 1, sebagai contoh, 3 titik
berwarna putih menyatakan support vector. Untuk mengatasi masalah
ketidaklinieran (nonlinearity) yang sering terjadi dalam kasus nyata, kita bisa
menerapkan metoda kernel.
2.6 LIBSVM
LIBSVM merupakan sebuah library pendukung yang digunakan untuk
mendukung algoritma Support Vector Machine (SVM) dan sudah dikembangkan
sejak tahun 2000 oleh Chih-Chung Chang and Chih-Jen Lin [9]. LIBSVM
merupakan library yang banyak digunakan saat ini. LIBSVM bertujuan untuk
memudahkan pengguna agar dengan mudah mengimplementasi kan LIBSVM ke
aplikasi mereka.
Ada beberapa fitur yang dimasukkan ke dalam LIBSVM yaitu :
• Perbedaan formula SVM.
• Efisien untuk klasifikasi multi kelas.
• Croos Validation untuk pemilihan model.
• Perkiraan probabilitas.
• Memiliki pilihan bermacam-macam kernel.
• SVM yang seimbang untuk data yang tidak seimbang.
• Terdapat source dalam pemrograman C++ dan Java.
• Mendemonstrasikan GUI untuk SVM klasifikasi dan regresi.
• Otomatisasi pemilihan seleksi model dengan menghasilkan akurasi pada
cross validation
19
LIBSVM memiliki beberapa tipe SVM yaitu C-support vector classification (c-
SVC), ν-support vector classification (ν-SVC), estimasi distribusi (one-class
SVM), support vector regression (e-SVR), and ν-support vector regression (ν-
SVR) [10].
2.7 Pengujian
Untuk pengujian dilakukan melalui perhitungan akurasi, precision, recall, dan f-
measure. Akurasi adalah perhitungan jumlah kasus yang diklasifikasi secara benar
dibagi dengan total kasus yang diklasifikasi [4].
Precision yaitu perhitungan jumlah kasus berkategori positif dan dikasifikasi
benar dibagi dengan total kasus yang diklasifikasi sebagai kasus positif [11].
Keterangan:
tp = prediksi aktual bernilai positif, hasil klasifikasi positif
fp = prediksi aktual bernilai negatif, hasil klasifikasi positif
Recall atau yang biasa disebut sensitivitas yaitu jumlah kasus diklasifikasi positi
nyata dibagi total kasus dalam testing set yang diprediksi berkategori benar positif
[11].
Keterangan:
tp = prediksi aktual bernilai positif, hasil klasifikasi positif
fn = prediksi aktual bernilai positif, hasil klasifikasi negatif
precision = NeNefge
recall = NeNefgh
(13)
(14)
akurasi = +ijGkl.kmimn>.Gkm>g>.km>ophkqNrNkG.kmimn>.Gkm>g>.km>
(12)