Anda di halaman 1dari 4

1

Perbandingan Support Vecktor Machine dengan


Menggunakan Berbagai Macam Kernel
Al’awwa Prima N. Putri, Nisfi Hemas D. Asmara, Santi Wulan Purnami
Departemen Statistika, Fakultas Matematika, Komputasi, dan Sains Data,
Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia
e-mail: wawa@gmail.com, nisfihda@gmail.com, santi_wp@statistika.ac.id

Abstrak—. dengan demikian evaluasi dapat sangat berbeda tergantung


pada bagaimana pembagian dibuat [7].
Kata Kunci—.
C. K-fold Cross Validation
K-fold cross validation adalah salah satu cara untuk
I. PENDAHULUAN memperbaiki metode holdout. Kumpulan data dibagi menjadi 𝑘
….. himpunan bagian, dan metode holdout berulang kali 𝑘. Setiap
kali, salah satu 𝑘 himpunan digunakan sebagai himpunan tes
II. TINJAUAN PUSTAKA dan himpunan 𝑘 − 1 lainnya disatukan untuk membentuk satu
A. Support Vector Machine set pelatihan. Kemudian kesalahan rata-rata di semua uji 𝑘
Support Vector Machine (SVM) adalah sistem dihitung. Keuntungan dari metode ini adalah bahwa itu kurang
pembelajaran yang pengklasifikasiannya menggunakan ruang penting bagaimana data dibagi. Setiap titik data harus berada
hipotesis berupa fungsi-fungsi linear dalam sebuah ruang fitur dalam satu set tes tepat satu kali, dan mendapat berada dalam
(feature space) berdimensi tinggi, dilatih dengan algoritma satu set pelatihan 𝑘 − 1 kali. Varians dari perkiraan yang
pembelajaran yang didasarkan pada teori optimasi dengan dihasilkan berkurang saat 𝑘 meningkat. Kerugian dari metode
mengimplementasikan learning bias yang berasal dari teori ini adalah bahwa algoritma pelatihan harus mengulang dari
pembelajaran statistik [6]. awal 𝑘 kali, yang berarti dibutuhkan 𝑘 kali sebanyak
Dalam konsep SVM berusaha menemukan fungsi pemisah perhitungan untuk membuat evaluasi. Varian dari metode ini
(hyperplane) terbaik diantara fungsi yang tidak terbatas adalah membagi data secara acak menjadi tes dan pelatihan
jumlahnya. Hyperplane pemisah terbaik antara kedua kelas yang mengatur waktu yang berbeda. Keuntungan dari
dapat ditemukan dengan mengukur margin hyperplane tersebut melakukan ini adalah dapat secara mandiri memilih seberapa
dan mencari titik maksimalnya. Secara matematika, konsep besar setiap rangkaian tes dan berapa banyak uji coba yang di
dasar SVM yaitu: rata-rata [7].
1 D. Confusion Matrix
min | w |2 (1)
2 Prosedur yang digunakan untuk mengevaluasi masalah
s.t yi(xi .w+b)-1  0 klasifikasi adalah dengan menggunakan akurasi, sensitivity, dan
dimana (xi .w  b)  1 untuk kelas 1, dan (xi .w  b)  1 untuk specificity. Akurasi atau keakuratan classifier pada set tes yang
kelas 2, i x adalah data set, i y adalah output dari data i x , dan diberikan adalah persentase set uji yang benar diklasifikasikan
w, b adalah parameter yang dicari nilainya. Formulasi optimasi oleh classifier. Sensitivity atau kepekaan disebut sebagai tingkat
SVM untuk kasus klasifikasi dua kelas dibedakan menjadi positif (pengakuan) sejati (yaitu, proporsi dari tupel positif yang
klasifikasi linear dan non-linear diidentifikasi dengan benar), sementara specificity atau
B. Holdout spesifisitas adalah tingkat negatif yang sebenarnya [7].
Metode holdout adalah jenis validasi silang yang paling Tabel 1 Matriks Hasil Klasifikasi
sederhana. Set data dipisahkan menjadi dua set, yang disebut Kelas Kelas Dugaan
Total
set training dan set testing. Fungsi approximator cocok dengan Sebenarnya yes No
fungsi hanya menggunakan set pelatihan. Kemudian fungsi Yes TP FN P
No FP TN N
approximator diminta untuk memprediksi nilai output untuk
Berikut merupakan rumus perhitungannya.
data dalam set pengujian (belum pernah melihat nilai output ini
TP  Tn
sebelumnya). Kesalahan-kesalahan yang diakibatkannya accuracy  (4)
terakumulasi seperti sebelumnya untuk memberikan kesalahan PN
set tes absolut rata-rata, yang digunakan untuk mengevaluasi TP
model. Keuntungan dari metode ini adalah metode ini biasanya sensitivity  (5)
P
lebih baik daripada metode residual dan tidak perlu dihitung
TN
lagi. Namun, evaluasinya dapat memiliki varian yang tinggi. specifivity  (6)
Evaluasi mungkin sangat bergantung pada titik-titik data yang N
berakhir di set training dan yang berakhir di set testing, dan E. Penyakit Liver
2

Liver [9]. Diagnosa Penyakit


Category
Positif Liver
Negatif Liver
III. METODOLOGI PENELITIAN 23.0%

A. Sumber Data
Sumber data pada praktikum ini merupakan data sekunder.
Data diperoleh dari Tugas Akhir Puphus Inda Wati, mahasiswa
77.0%
Jurusan Matematika, Universitas Jember dengan judul laporan
“Analisis Diskriminan Kuadratik pada Penjurusan Madrasah
Aliyah Negeri (MAN) 1 Jember”. Pengamatan pada penelitian
ini adalah sebanyak 188 pengamatan. Data diambil pada hari
Gambar 2 Diagnosa Penyakit Liver
Minggu, 12 Mei 2019 pukul 08.45 WIB.
Gambar 2 menunjukkan bahwa secara keseluruhan
B. Variabel Penelitian terdapat 100 pasien dengan pembagian sebesar 77% atau 77
Variabel yang digunakan untuk menganalisis data dalam orang terdiagnosa penyakit liver dan sisanya sebesar 23% atau
praktikum ini disajikan pada Tabel 3.1. 23 orang tidak terdiagnosa penyakit liver.
Tabel 3.1 Variabel Penelitian B. SVM Holdout
Skala Berikut adalah hasil analisis SVM Holdout menggunakan
Variabel Keterangan
Pengukuran
Y Jurusan Nominal
kernel Linear, Poly dan RBF dengan nilai C dan Gamma
1 : Jurusan IPA berturut-turut 0,1 , 1 dan 10.
2 : Jurusan IPS Tabel 3 Hasil SVM Holdout menggunakan kernel Linear
X1 Mata pelajaran matematika Rasio Gamma
C
0,1 1 10
X2 Mata pelajaran kimia Rasio
Acc Sen Spe Acc Sen Spe Acc Sen Spe
X3 Mata pelajaran sosiologi Rasio
0,1 0,7 0,68 0,8 0,7 0,68 0,8 0,733 0,76 0,6
1 0,7 0,72 0,6 0,666 0,64 0,8 0,7 0,68 0,8
C. Langkah Analisis 10 0,667 0,64 0,8 0,7 0,68 0,8 0,667 0,68 0,6
Langkah analisis yang digunakan dalam praktikum ini Berdasarkan tabel 3, nilai C dan Gamma yang memiliki
adalah sebagai berikut. akurasi dan sensitivitas terbaik adalah nilai C 0,1 dan Gamma
1. Merumuskan masalah dan tujuan praktikum. 10 yakni berturut-turut 0,73 dan 0,76, pada nilai Gamma
2. Mencari data sekunder. sebesar 1, semua nilai spesivisitas yang dihasilkan adalah sama
3. Menginput data sekunder mulivariat yaitu data pembuatan yakni sebesar 0,8.
yoghurt dengan variabel prediktor penambahan gelatin dan Tabel 4 Hasil SVM Holdout menggunakan kernel Polynomial
Gamma
lama penyimpanan, sedangkan variabel responnya adalah C
0,1 1 10
kadar protein, lemak, dan karbohidrat. Acc Sen Spe Acc Sen Spe Acc Sen Spe
4. Melakukukan Preprocessing Data. 0,1 0,667 0,64 0,8 0,7 0,68 0,8 0,7 0,68 0,8
5. Melakukan eksplorasi data untuk mengetahui karakteristik 1 0,667 0,68 0,6 0,733 0,76 0,6 0,7 0,72 0,6
10 0,7 0,68 0,8 0,733 0,76 0,6 0,667 0,64 0,8
data.
Pada tabel 4, dengan nilai C adalah 1 atau 10 dan nilai
6. Melakukan analisis data menggunakan metode klasifikasi
Gamma adalah 1, diperoleh nilai akurasi dan nilai sensitivitas
Support Vector Validation dengan berbagai kernel.
yang terbesar yakni 0,733 dan 0,76. Pada saat nilai C adalah 0,1
7. Membandingkan nilai akurasi, spesitivity, dan sensitivity.
nilai spesivisitas yang diperoleh sama besar yakni 0,8.
8. Menarik kesimpulan berdasarkan analisis yang telah Tabel 5 Hasil SVM Holdout menggunakan kernel RBF
dilakukan. Gamma
C
0,1 1 10
IV. ANALISIS DAN PEMBAHASAN Acc Sen Spe Acc Sen Spe Acc Sen Spe
0,1 0,667 0,64 0,8 0,667 0,64 0,8 0,667 0,64 0,8
A. Karakteristik Data 1 0,667 0,68 0,6 0,7 0,68 0,8 0,667 0,64 0,8
Analisis Deskriptif pada praktikum ini digunakan untuk 10 0,7 0,72 0,6 0,7 0,68 0,8 0,7 0,68 0,8
melihat gambaran umum mengenai karakteristik dugaan pasien Pada tabel 5, pada saat nilai Gamma yang dimasukkan
penyakit liver yang terbagi menjadi 2 kategori yaitu pasien adalah 10 diperoleh nilai spesivisitas yang sama yakni 0,8,
terkena penyakit liver dan tidak. sedangkan nilai akurasi dan spesivisitas yang paling besar
adalah 0,7 dan 0,72 ketika nilai C dan nilai Gamma yang
dimasukkan adalah berturut-turut 10 dan 0,1.
C. SVM K-fold
Berikut adalah hasil analisis SVM K-fold menggunakan
kernel Linear, Poly dan RBF dengan nilai C dan Gamma
berturut-turut 0,1 , 1 dan 10.
Tabel 6 Hasil SVM K-fold menggunakan kernel Linear
C Gamma
3

0,1 1 10 [5] J. Han, M. Kamber, and J. Pei. 2012. Data Mining Concepts and
Acc Sen Spe Acc Sen Spe Acc Sen Spe Techniques 3rd Edition. Morgan Kaufmann Publishers, Waltham.
0,1 0.79 1.00 0.00 0.79 1.00 0.00 0.79 1.00 0.00 [6] Christianini, Nello dan John S. Taylor. 2000. An Introduction to Support
1 0.63 0.75 0.20 0.63 0.75 0.20 0.63 0.75 0.20 Vector Machines and Other Kernel-based Learning Methods. Cambridge
10 0.65 0.77 0.20 0.65 0.77 0.20 0.65 0.77 0.20 University Press.
[7] Jiawei Han, Micheline Kamber, and Jian Pei,Data Mining Concepts and
Berdasarkan tabel 6, nilai C dan Gamma yang memiliki Techniques Third Edition, Morgan Kaufmann Publishers is an imprint of
akurasi dan sensitivitas terbaik adalah nilai C 0,1 untuk semua Elsevier. 225 Wyman Street, Waltham, MA 02451, USA, ISBN 978-0-
Gamma yakni berturut-turut 0,79 dan 1, pada kernel ini nilai 12-381479-1, 2012.
[8] Lumongga, Fitriani. 2008. Struktur Liver. Medan: USU repository.
Gamma tidak mempengaruhi nilai akurasi, sensitivity, dan [9] Rahmawati, Eva. 201515. Analisa Komparasi Algoritma Naive Bayes
spesitifity yang dihasilkan. Dan C4.5. Untuk Prediksi Penyakil Liver. Jurnal Techno Nusa Mandiri
Tabel 7 Hasil SVM K-fold menggunakan kernel Polynomial Vol. XII No.2, September 2015.
Gamma
C
0,1 1 10
Acc Sen Spe Acc Sen Spe Acc Sen Spe
0,1 0.69 0.83 0.20 0.51 0.59 0.20 0.54 0.59 0.39
1 0.58 0.69 0.20 0.53 0.61 0.26 0.55 0.61 0.36
10 0.53 0.61 0.26 0.52 0.56 0.36 0.56 0.61 0.39
Berdasarkan tabel 7, nilai C dan Gamma yang memiliki
akurasi dan sensitivitas terbaik adalah nilai C 0,1 dengan
Gamma 0,1 yakni berturut-turut 0,69 dan 0,83, pada kernel ini
nilai Gamma menyebabkan nilai akurasi, sensitivity, dan LAMPIRAN
spesitifity yang dihasilkan berbeda-beda.
Tabel 8 Hasil SVM K-fold menggunakan kernel RBF Lampiran 1. Syntax
Gamma #SVM CV di Python
C
0,1 1 10
Acc Sen Spe Acc Sen Spe Acc Sen Spe import pandas as pd
0,1 0.79 1.00 0.00 0.79 1.00 0.00 0.79 1.00 0.00 import numpy as np
1 0.79 1.00 0.00 0.63 0.74 0.20 0.72 0.87 0.17 from sklearn.model_selection import train_test_split, StratifiedKFold,
GridSearchCV
10 0.56 0.65 0.20 0.61 0.72 0.20 0.70 0.80 0.30
from sklearn import datasets
Berdasarkan tabel 8, nilai C dan Gamma yang memiliki from sklearn.metrics import confusion_matrix
akurasi dan sensitivitas terbaik adalah nilai C 0,1 untuk semua
data=pd.read_csv('Indian Liver Patient Dataset (ILPD).csv')
Gamma yakni berturut-turut 0,79 dan 1, pada kernel ini nilai C data.head()
10 menghasilkan nilai spesitifity paling tinggi.
np.sum(data.isnull())

y=data['y']
V. KESIMPULAN DAN SARAN x=data.drop(columns='y')
y=y.values
A. Kesimpulan x=x.values
Dari beberapa penjelasan yang telah dijabarkan from sklearn import svm
sebelumnya, didapatkan kesimpulan sebagai berikut. cv=StratifiedKFold(n_splits=2,random_state=None)
1. Untuk metode validasi K-Fold, SVM menggunakan kernel ss=svm.SVC(class_weight=None,random_state=2)
“linear” dan “rbf” menghasilkan nilai akurasi yang terbesar model=ss.fit(x,y)

dengan nilai “C” = 1 untuk semua parameter gamma yang from sklearn import svm
digunakan daripada kernel “polynomial” dan nilai “C” svm=svm.SVC(class_weight=None, C=1, gamma=0.1, kernel='linear',
lainnya. random_state=100)
n=5
2. Untuk metode validasi Holdout, SVM menggunakan from sklearn.model_selection import StratifiedKFold
kernel “linear” menghasilkan nilai akurasi yang terbesar kf = StratifiedKFold(n_splits=n, random_state=None)
dengan nilai “C” = 1 untuk semua parameter gamma yang
svm.fit(x,y)
digunakan daripada kernel nilai “C” lainnya. y_pred = svm.predict(x)
B. Saran
cm=[]
total=[]
ac=[]
DAFTAR PUSTAKA se=[]
sp=[]
[1] Sloane E. 2004. Anatomi dan fisiologi untuk Pemula, Jakarta: EGC. hlm
291 for train_index, test_index in kf.split(x,y):
[2] Hepatitis B Foundation. Your Liver and How It Works – Hepatitis B x_train, x_test = x[train_index], x[test_index]
Foundation. Retrieved April 23, 2019 from Hepatitis B Foundation y_train, y_test = y[train_index], y[test_index]
:http://www.hepb.org/pdf/the_liver.pdf svm.fit(x_train, y_train)
[3] Lin, R. H. 2009. An Inteligence Model For Liver Disease Diagnosis. y_pred = svm.predict(x_test)
Artificial Inteligence In Medicine, 47 (1), 53-62. cm.append((confusion_matrix(y_test, y_pred)).astype(float))
[4] World Health Organization, Cardiovascular Disease. Retrieved April 23, for j in range (n):
total.append(sum(sum(cm[j])))
2019 from World Health Organization :
ac.append((cm[j][0,0]+cm[j][1,1])/total[j])
https://www.who.int/cardiovascular_diseases/en/
se.append(cm[j][0,0]/(cm[j][0,0]+cm[j][0,1]))
sp.append(cm[j][1,1]/(cm[j][1,0]+cm[j][1,1]))
akurasi=np.mean(ac)
spesifisiti=np.mean(sp)
sensitiviti=np.mean(se)
print(akurasi)
4

Anda mungkin juga menyukai