PEMILIHAN ATRIBUT UNTUK PENENTUAN TINGKAT SEVERITY BERDASARKAN HASIL KLASIFIKASI SUPPORT VECTOR MACHINE Ghaluh Indah Permata Sari 5109201054 Pembimbing : Daniel Oranova Siahaan S.Kom, Msc, PD.Eng Umi Laili Yuhana, S.Kom, Msc TESIS
PEMILIHAN ATRIBUT UNTUK PENENTUAN TINGKAT SEVERITY BERDASARKAN HASIL KLASIFIKASI SUPPORT VECTOR MACHINE
Ghaluh Indah Permata Sari 5109201054 Pembimbing : Daniel Oranova Siahaan S.Kom, Msc, PD.Eng Umi Laili Yuhana, S.Kom, Msc
TESIS
Latar Belakang Penelitian
Selama ini, pengguna laporan bug
menentukan tipe severity sesuai persepsi
dan estimasinya.
Pentingnya ketepatan penentuan tipe
severity bug dikarenakan proses
penyelesaian suatu bug tergantung tipe
severitynya.
Penelitian Sebelumnya
Severis (Menzies & Marcus, 2008)
Melakukan klasifikasi tipe severity bug pada sistem pelacakan bug Nasa IV&V (komersial).
Metode yang digunakan adalah Rule Learning
Data yang digunakan sebanyak 3875 bug.
Atribut yang digunakan dalam klasifikasi hanya 1 yaitu comment (jika pada bugzilla adalah summary).
Predicting Eclipse Bug Lifetimes (Panjer, 2007)
High level atribut : severity, op_sys, comment,
version, product, component
Low level atribut : priority, assigned to
Tujuan Penelitian
Memilih term penting dari atribut – atribut
pada laporan bug open source (Bugzilla)
sesuai tipe severitynya, serta memberikan
rekomendasi atribut penting yang akan
digunakan pada proses klasifikasi dengan
metode Support Vector Machine
Multiclass.
Kontribusi Penelitian
Penentuan atribut penting yang
berpengaruh signifikan terhadap proses
klasifikasi.
Perbaikan akurasi klasifikasi tipe severity
bug menggunakan SVM Multiclass.
Data
Data diambil dari laporan bug Bugzilla
sebanyak 17746 bug, yang dibagi
menjadi 2 :
Pelatihan 16.146 bug
Pengujian 1.600 bug
Desain Penelitian
Data
pelatihan
dari N
atribut
Pembobotan
Data Text
(TF*IDF)
Penghitungan
peluang
kemunculan
Data Numerik
Matriks
bobot
TF*IDF
Matriks
nilai
peluang
Pengurutan
term sesuai
bobot
PEMBOBOTAN
Tokenizing
Filtering
Stemming
Pengelompokkan
data
(Enumerasi)
Data Atribut Summary
Data Atribut selain Summary
Pre Proses
Penghitungan
Infogain
Urutan
atribut
penting
Rekomendasi
atribut
penting
Matrik
Term
sesuai
atribut
Klasifikasi
Multiclass
(SVM Multiclass)
Hyperplane
KLASIFIKASI
Pembentukkan
SVM biner untuk
masing-masing
kelas
Matriks Biner
Kelas-1
Matriks Biner
Kelas-1
Matriks Biner
Kelas-1
Matriks Biner
Kelas-1
Matriks Biner
Kelas-1
Matriks Biner
Kelas-1
Penomoran term atribut
selain Summary
Pemasangan term sesuai
urutan pada laporan bug
Pembuatan matrik Inputan untuk SVM
Klasifikasi
Multiclass
(SVM Multiclass)
Data
Terklasifikasi
PENGUJIAN
Data
pelatihan
dari M
atribut
Pembobotan
Data Text
(TF*IDF)
Penghitungan
peluang
kemunculan
Data Numerik
Matriks
bobot
TF*IDF
Matriks
nilai
peluang
Tokenizing
Filtering
Stemming
Pengelompokkan
data
(Enumerasi)
Data Atribut Summary
Data Atribut selain Summary
Pre ProsesPEMBOBOTAN
KLASIFIKASI
Penomoran term
atribut selain
Summary
Pemasangan
term sesuai
urutan pada
laporan bug
Pe
mb
ua
tan
ma
trik
in
pu
tan
un
tuk
SV
M
PE
LA
TIH
AN
Metodologi Penelitian Preproses
Tokenizing
Filtering
Stemming
Pembobotan TF*IDF, untuk term dari atribut summary.
Penghitungan peluang, untuk term dari atribut selain summary.
Infogain Pelatihan
Klasifikasi SVM multiclass dengan 7 atribut termasuk pelatihan skenario 1
Klasifikasi SVM multiclass dengan 1 atribut yaitu summary pelatihan skenario 2
Klasifikasi SVM multiclass dengan 4 atribut yang memiliki nilai infogain tinggi (diatas 0,3) pelatihan skenario 2
Klasifikasi SVM multiclass dengan 3 atribut yang memiliki nilai infogain rendah (dibawah 0,3) pelatihan skenario 2
Pengujian Klasifikasi SVM multiclass dengan 7 atribut.
Klasifikasi SVM multiclass dengan 1 atribut yaitu summary pengujian skenario 1 & 2
Klasifikasi SVM multiclass dengan 4 atribut yang memiliki nilai infogain tinggi (diatas 0,3) pengujian skenario 1 & 2
Klasifikasi SVM multiclass dengan 3 atribut yang memiliki nilai infogain rendah (dibawah 0,3) pengujian skenario 1 & 2
Hasil Infogain
Atribut Infogain
Qa_contact 0,97
Component 0,91
Summary 0,47
Product 0,33
Version 0,17
Op_sys 0,1
Priority 0,02
Hasil pelatihan SVM skenario 2 dengan 1 atribut (summary)
Hasil pengujian SVM skenario 2 dengan 1 atribut (summary)
Skenario 2
Hasil pelatihan dan pengujian SVM dengan 3 atribut rendah
Bad mouve : kondisi dimana tidak ditemukannya support vector
yang tepat untuk membagi tiap – tiap kelas
Kesimpulan
Pemilihan jenis term yang unik dapat membantu
meningkatkan akurasi klasifikasi tipe severity.
SVM Multiclass sesuai untuk jenis data dengan dimensi
atribut 7 dan jumlah data set sebanyak 17.746.
Atribut yang signifikan mempengaruhi tingkat akurasi
klasifikasi tipe severity pada laporan bug Bugzilla adalah
qa_contact, component, summary, product dengan
nilai infogain diatas 0,3.
Atribut yang tidak signifikan mempengaruhi tingkat
akurasi kasifikasi tipe severity pada laporan bug Bugzilla
adalah version, op_sys, priority dengan nilai infogain
dibawah 0,3.
Penghitungan Bobot
Term hasil praproses
atribut summary
0
0
17
4
0
3
13
15
66
0
0
8
0
7
10
1
0
0
0
0
93
0
0
1
critical
major
normal
minor
trivial
enhancement
tf
&
df
281
392
390
134
38
80
280
407
51
129
53
2
564
765
4888
344
202
503
270
420
2451
205
73
330
1
1
36
2
2
0
236
341
0
110
34
0
critical
major
normal
minor
trivial
enhancement
Pro
duct
Com
ponent
Pri
ori
ty
Vers
ion
Op_sys
Qa_conta
ct
kemunculan
0
0
0,027
0,075
0
0,029
0,02
0,058
0,06
0
0
0,046
0
0,046
0,016
0,019
0
0
0
0
0,232
0
0
0,016
critical
major
normal
minor
trivial
enhancement
0,479
0,489
0,07
0,364
0,185
0,147
0,477
0,507
0,009
0,35
0,258
0,004
0,96
0,95
0,88
0,94
0,98
0,92
0,459
0,524
0,44
0,558
0,356
0,606
0,002
0,001
0,006
0,005
0,009
0
0,402
0,425
0
0,299
0,166
0
critical
major
normal
minor
trivial
enhancement
Bobot
hasil
tf*idf
Bobot
hasil
peluang
Perankingan sesuai urutan bobot terbesar sampai terkecil sesuai atribut dan severitynya
Term hasil praproses atribut selain
summary
idf = log2(N/df)
w = tf * idf
Hitung idf
Hitung bobot
tf*idf
Infogain
N severity = N critical + N trivial + N normal + N minor + N major + N enhancement
S critical = - (N critical / N severity) log2 (N critical / N severity)
S trivial = - (N trivial / N severity) log2 (N trivial / N severity)
S normal = - (N normal / N severity) log2 (N normal / N severity)
S enhancement = - (N enhancement / N severity) log2 (N enhancement / N severity)
S minor = - (N minor / N severity) log2 (N minor / N severity)
S major = - (N major / N severity) log2 (N major / N severity)
S severity = S critical + S trivial + S major + S minor + S enhancement + S normal
En
trop
y m
as
ing
- ma
sin
g s
ev
erity
Proses penghitungan entropy severity
Nproduct = Nfennec + Nbugzilla + Ncamino
Nfennec = Nfennec_critical + Nfennec_trivial + Nfennec_normal + Nfennec_minor + Nfennec_major + Nfennec_enhancement
Nbugzilla = Nbugzilla_critical + Nbugzilla_trivial + Nbugzilla_normal + Nbugzilla_minor + Nbugzilla_major + Nbugzilla_enhancement
Ncamino = Ncamino_critical + Ncamino_trivial + Ncamino_normal + Ncamino_minor + Ncamino_major + Ncamino_enhancement
Sfennec = - P Nfennec_critical log2 (P Nfennec_critical) - P Nfennec_trivial log2 (P Nfennec_trivial) - P Nfennec_normal log2 (P Nfennec_normal)
- P Nfennec_minor log2 (P Nfennec_minor) - P Nfennec_major log2 (P Nfennec_major) - P Nfennec_enhancement log2 (P Nfennec_enhancement)
Sbugzilla = - P Nbugzilla_critical log2 (P Nbugzilla_critical) - P Nbugzilla_trivial log2 (P Nbugzilla_trivial) - P Nbugzilla_normal log2 (P Nbugzilla_normal)
- P Nbugzilla_minor log2 (P Nbugzilla_minor) - P Nbugzilla_major log2 (P Nbugzilla_major) - P Nbugzilla_enhancement log2 (P Nbugzilla_enhancement)
Sbugzilla = - P Ncamino_critical log2 (P Ncamino_critical) - P Ncamino_trivial log2 (P Ncamino_trivial) - P Ncamino_normal log2 (P Ncamino_normal)
- P Ncamino_minor log2 (P Ncamino_minor) - P Ncamino_major log2 (P Ncamino_major) - P Ncamino_enhancement log2 (P Ncamino_enhancement)
Nproduct digunakan untuk menghitung peluang
masing - masing term pada tiap severity
P Nfennec_critical = Nfennec_critical / Nfennec
P Nfennec_trivial = Nfennec_trivial / Nfennec
Contoh penghitungan peluang pada
masing - masing term ditiap - tiap
severity
Proses penghitungan entropy pada atribut
Proses penghitungan Infogain dari masing – masing atribut
Gain (Sseverity, Product ) = Sseverity - (Nfennec / Nproduct) Sfennec - (Nbugzilla / Nproduct) Sbugzilla - (Ncamino / Nproduct) Scamino
Gain (Sseverity, Summary)
Gain (Sseverity, Version)
Gain (Sseverity, Op_sys)
Gain (Sseverity, Qa_contact)
Gain (Sseverity, Priority)
Gain (Sseverity, Component)
Hasil infogain dari masing - masing atribut diurutkan mulai darii nilai Gain
terbesar sampai terkecil
Rekomendasi
atribut penting
Pembuatan Matriks Inputan SVM
Term terurut atribut summary Term terurut atribut selain summary
Pengkategorian
(kode term + kode atribut)
131 1482 23 764 255 181692 1802 2760 1238
Kode term dari
atribut selain
summary
Kode term dari
atribut
summary
Pembentukan matriks
term x dimensi atribut
sebanyak 6 severity
Pelatihan SVM 7 Atribut
Pembentukan matriks biner Matriks
Biner
Kelas-1
Matriks
Biner
Kelas-1
Matriks
Biner
Kelas-1
Matriks
Biner
Kelas-1
Matriks
Biner
Kelas-1
Matriks
Biner
Kelas-1
f1(x)
f2(x) f3(x)
Critical Normal MinorMajor
f4(x) f5(x) Enhancement
Trivial
Xi pelatihan
Klasifikasi SVM Multiclass
Hyperplane :
xsup, w, b , lambda, alpha, nbsv, pos
Yprediksi
(100 * (Yprediksi - Ypengujian)) / Ypengujian
Akurasi data
terklasifikasi