ArticlePDF Available

Integrasi Bagging dan Greedy Forward Selection Pada Prediksi Cacat Software Menggunakan Naive Bayes

Authors:

Abstract

Kualitas software ditemukan pada saat pemeriksaan dan pengujian. Apabila dalam pemeriksan atau pengujian tersebut terdapat cacat software maka hal tersebut akan membutuhkan waktu dan biaya dalam perbaikannya karena biaya untuk estimasi dalam memperbaiki software yang cacat dibutuhkan biaya yang mencapai 60 Miliar pertahun. Naïve bayes merupakan algoritma klasifikasi yang sederhana, mempunya kinerja yang bagus dan mudah dalam penerapannya, sudah banyak penelitian yang menggunakan algoritma naïve bayes untuk prediksi cacat software yaitu menentukan software mana yang masuk kategori cacat dan tidak cacat pada. Dataset NASA MDP merupakan dataset publik dan sudah banyak digunakan dalam penelitian karena sebanyak 64.79% menggunakan dataset tersebut dalam penelitian prediksi cacat software. Dataset NASA MDP memiliki kelemahan adalah kelas yang tidak seimbang dikarenakan kelas mayoritas berisi tidak cacat dan minoritas berisi cacat dan kelemahan lainnya adalah data tersebut memiliki dimensi yang tinggi atau fitur-fitur yang tidak relevan sehingga dapat menurunkan kinerja dari model prediksi cacat software. Untuk menangani ketidakseimbangan kelas dalam dataset NASA MDP adalah dengan menggunakan metode ensemble (bagging), bagging merupakan salah satu metode ensemble untuk memperbaiki ketidakseimbangan kelas. Sedangkan untuk menangani data yang berdimensi tinggi atau fitur-fitur yang tidak memiliki kontribusi dengan menggunakan seleksi fitur greedy forward selection. Hasil dalam penelitian ini didapatkan nilai AUC tertinggi adalah menggunakan model naïve bayes tanpa seleksi fitur adalah 0.713, naïve bayes dengan greedy forward selection sebesar 0.941 dan naïve bayes dengan greedy forward selection dan bagging adalah sebesar 0.923. Akan tetapi, dilihat dari rata-rata peringkat bahwa naïve bayes dengan greedy forward selection dan bagging merupakan model yang terbaik dalam prediksi cacat software dengan rata-rata peringkat sebesar 2.550
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 101
http://journal.ilmukomputer.org
Integrasi Bagging dan Greedy Forward Selection pada
Prediksi Cacat Software dengan Menggunakan
Naïve Bayes
Fitriyani1 dan Romi Satria Wahono2
1Fakultas Ilmu Komputer, STMIK Nusa Mandiri
fitriyani.fitriyani@hotmail.co.id
2 Fakultas Ilmu Komputer, Universitas Dian Nuswantoro
romi@romisatriawahono.net
Abstrak: Kualitas software ditemukan pada saat pemeriksaan
dan pengujian. Apabila dalam pemeriksan atau pengujian
tersebut terdapat cacat software maka hal tersebut akan
membutuhkan waktu dan biaya dalam perbaikannya karena
biaya untuk estimasi dalam memperbaiki software yang cacat
dibutuhkan biaya yang mencapai 60 Miliar pertahun. Naïve
bayes merupakan algoritma klasifikasi yang sederhana,
mempunya kinerja yang bagus dan mudah dalam
penerapannya, sudah banyak penelitian yang menggunakan
algoritma naïve bayes untuk prediksi cacat software yaitu
menentukan software mana yang masuk kategori cacat dan
tidak cacat pada. Dataset NASA MDP merupakan dataset
publik dan sudah banyak digunakan dalam penelitian karena
sebanyak 64.79% menggunakan dataset tersebut dalam
penelitian prediksi cacat software. Dataset NASA MDP
memiliki kelemahan adalah kelas yang tidak seimbang
dikarenakan kelas mayoritas berisi tidak cacat dan minoritas
berisi cacat dan kelemahan lainnya adalah data tersebut
memiliki dimensi yang tinggi atau fitur-fitur yang tidak
relevan sehingga dapat menurunkan kinerja dari model
prediksi cacat software. Untuk menangani ketidakseimbangan
kelas dalam dataset NASA MDP adalah dengan menggunakan
metode ensemble (bagging), bagging merupakan salah satu
metode ensemble untuk memperbaiki ketidakseimbangan
kelas. Sedangkan untuk menangani data yang berdimensi
tinggi atau fitur-fitur yang tidak memiliki kontribusi dengan
menggunakan seleksi fitur greedy forward selection. Hasil
dalam penelitian ini didapatkan nilai AUC tertinggi adalah
menggunakan model naïve bayes tanpa seleksi fitur adalah
0.713, naïve bayes dengan greedy forward selection sebesar
0.941 dan naïve bayes dengan greedy forward selection dan
bagging adalah sebesar 0.923. Akan tetapi, dilihat dari rata-
rata peringkat bahwa naïve bayes dengan greedy forward
selection dan bagging merupakan model yang terbaik dalam
prediksi cacat software dengan rata-rata peringkat sebesar
2.550.
Kata Kunci: Naïve Bayes, Greedy Forward Selection,
Bagging, Ketidakseimbangan Kelas, Fitur-Fitur yang tidak
Relevan.
1 PENDAHULUAN
Prediksi cacat software merupakan salah satu kegiatan
penting pada fase atau tahap testing dalam Software
Development Life Cycle (Arora, Tetarwal, & Saha, 2015).
Terbukti pada tahun 2002, menurut NIST (National Institute
of Standards and Technology) estimasi biaya cacat software
mencapai $60 billion atau sekitar 60 miliar pertahun (Strate &
Laplante, 2013) dan lebih dari 30 tahun prediksi cacat software
merupakan topik yang penting dalam software engineering.
Prediksi yang akurat pada kesalahan yang mungkin dapat
terjadi dalam kode merupakan hal yang penting karena dapat
membantu pada saat tahap pengujian, pengurangan biaya dan
peningkatan kualitas perangkat lunak (Song, Jia, Shepperd,
Ying, & Liu, 2010).
Kualitas dianggap sebagai isu penting dalam bidang
software engineering, akan tetapi membangun kualitas
perangkat lunak sangat membutuhkan biaya yang mahal untuk
meningkatkan efektifitas dan efisiensi jaminan kualitas dan
pengujian (Chang, Mu, & Zhang, 2011). Prediksi cacat
software ini berupaya untuk meningkatkan kualitas perangkat
lunak dan efisiensi pengujian dengan membangun model
prediksi klasifikasi dari atribut kode untuk mengidentifikasi
secara tepat pada modul rawan kesalahan (Lessmann, Baesens,
Mues, & Pietsch, 2008). Saat ini penelitian tentang prediksi
cacat software berfokus pada metode klasifikasi sebanyak
77.46%, 14.08% menggunakan metode estimasi dan sebanyak
1.41% menggunakan metode clustering dan asosiasi (Wahono,
2015).
Dataset NASA MDP merupakan data metrik perangkat
lunak yang kerap kali digunakan dalam penelitian software
defect prediction atau prediksi cacat software. Dataset NASA
mudah diperoleh dan tersedia untuk umum karena sebanyak
64.79% penelitian menggunakan publik dataset dan 35.21%
penelitian menggunakan dataset privat (Wahono, 2015).
Masalah dalam software defect prediction adalah
redundant data, korelasi, fitur yang tidak relevan, missing
samples dan masalah ini dapat membuat dataset tidak
seimbang karena sulit untuk memastikan antara data cacat atau
tidak cacat (Laradji, Alshayeb, & Ghouti, 2015). Feature
selection (seleksi fitur atau atribut) dapat menangani untuk
mengurangi masalah redudant data dan fitur yang tidak
relevan. Seleksi fitur merupakan langkah yang penting dalam
mesin pembelajaran (machine learning) (Laradji, Alshayeb, &
Ghouti, 2015). Salah satu metode seleksi fitur adalah
menggunakan greedy forward selection. Seleksi fitur dengan
greedy forward selection sangat efisien, sederhana dan tidak
seperti teknik seleksi fitur yang membutuhkan waktu lama
dalam prosesnya (forward selection dan backward
elimination). Greedy forward selection hanya memilih fitur
yang berkontribusi dan dapat meningkatkan performa
klasifikasi (Laradji, Alshayeb, & Ghouti, 2015).
Selain masalah redudant data dan fitur-fitur yang tidak
relevan, pada dataset cacat software ditemukan dataset yang
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 102
http://journal.ilmukomputer.org
tidak seimbang (imbalance class) karena data yang cacat
jumlahnya lebih sedikit dibandingkan dengan data yang tidak
cacat, sehingga data yang termasuk kelas mayoritas adalah
tidak cacat dan data yang termasuk kelas minoritas adalah
cacat. Untuk menangani masalah dalam imbalance class salah
satunya adalah menggunakan teknik ensemble (boosting dan
bagging). Bagging (bootstrap aggregating) merupakan teknik
yang dapat meningkatkan klasifikasi dengan kombinasi
klasifikasi secara acak pada dataset training dan bagging juga
dapat mengurangi variansi dan menghindari overfitting
(Wahono & Suryana, Combining Particle Swarm
Optimization based Feature Selection and Bagging Technique
for Software Defect, 2013).
Banyak penelitian yang telah dilakukan sebelumnya dan
algoritma naive bayes merupakan model yang terbaik
dibandingkan model lainnya seperti: logistic regression, neural
network, random forest, decission tree, support vector machine
dan k-nearest neigbor. Naive bayes merupakan algoritma
klasifikasi yang sederhana dan mudah diimplementasikan
sehingga algoritma ini sangat efektif apabila diuji dengan
dataset yang tepat, terutama bila naïve bayes dengan seleksi
fitur, maka naive bayes dapat mengurangi redudant pada data
(Witten, Frank, & Hall, 2011). Algoritma naive bayes
termasuk dalam supervised learning dan salah satu algoritma
pembelajaran tercepat yang dapat menangani sejumlah fitur
atau kelas (Lee, 2015).
Pada penelitian ini untuk menangani masalah redundant
data menggunakan seleksi fitur greedy forward selection dan
untuk menangani imbalance class menggunakan teknik
ensemble bagging, sedangkan algoritma klasifikasi yang
digunakan dalam penelitian ini adalah algoritma naive bayes.
Pada penelitian ini menggunakan dataset NASA (National
Aeronautics and Space Administration) MDP (Metrics Data
Program) repository sebagai software metrics.
2 PENELITIAN TERKAIT
Banyak penelitian tentang prediksi cacat software dan
sudah banyak metode yang dalam penelitian tersebut
menghasilkan kinerja yang baik, akan tetapi sebelum
dilakukan penelitian adalah mengkaji metode-metode yang
sudah menggunakan metode yang lain dalam penelitian
sebelumnya, sehingga dapat mengetahui state of the art dalam
penelitian yang membahas tentang fitur-fitur yang tidak
relevan (irrelevant features) dan ketidakseimbangan kelas
(imbalanced class).
Penelitian yang dilakukan oleh Song, Jia, Shepperd, Ying
dan Liu bahwa prediksi cacat software merupakan topik
penelitian yang penting dan lebih dari 30 tahun penelitian
prediksi cacat software memfokuskan pada estimasi jumlah
cacat pada sistem software, menemukan asosiasi atau
hubungan antara cacat, mengklasifikasikan antara cacat dan
tidak cacat (Song, Jia, Shepperd, Ying, & Liu, 2010). Pada
penelitian ini, data preprocessing merupakan bagian yang
penting dalam menangani missing values, discretizing atau
transformasi untuk atribut numeric dan menangani masalah
tersebut dapat menggunakan metode log filtering. Setelah
proses data prosessing pada prediksi cacat software, dilakukan
pemilihan atribut terbaik atau dapat disebut dengan attribute
selection. Dalam penelitiani ini untuk pemilihan atribut
terbaik menggunakan forward selection dan backward
elimination dan algoritma pembelajarannya yang digunakan
adalah naïve bayes, J48 dan OneR. Hasilnya dapat diketahui
bahwa naïve bayes dengan log filtering dan seleksi fitur
(forward selection dan backward elimination) lebih baik
daripada algoritma J48 dan OneR untuk meningkatkan AUC.
Pada penelitian (Khoshgoftaar, Hulse, & Napolitano,
2011) noisy dan imbalance class lebih efektif ditangani dengan
teknik bagging dan boosting karena imbalance class dan noise
dapat berpengaruh pada kualitas data dalam hal kinerja
klasifikasi. Dataset dalam penelitian ini menggunakan Letter
A, Nursey3, OptDigits8, Splice2, sedangkan metode dalam
penelitian ini adalah menggunakan teknik data sampling
seperti Random Undersampling (RUS) dan Synthetic Minority
Oversampling Technique (SMOTE) yang menggabungkan
dengan teknik bagging dan boosting sehingga penelitian ini
menggunakan metode Exactly Balanced Bagging (EBBag),
Roughly Balanced Bagging (RBBag), SMOTE dan Boosting
(SMOTEBoost), RUS dan Boosting (RUSBoost), EBBag dan
RBBag dengan Replacement (EBBagR dan RBBagR), EBBag
dan RBBag tanpa Replacement (EBBagN dan RBBagN),
SMOTE dan Boosting dengan Reweighting
(SMOTEBoostW), RUS dan Boosting dengan Reweigthting
(RUSBoostW), SMOTE dan Boosting dengan Resampling
(SMOTEBoostS), RUS dan Boosting dengan Resampling
(RUSBoostS). Algoritma pembelajaran menggunakan C4.5D
(Default Parameter) dan C4.5N (disable pruning dan enable
laplace smoothing), naïve bayes dan RIPPER. Hasil akhir dari
penelitian ini adalah bahwa teknik bagging lebih baik tanpa
menggunakan replacement untuk pembelajaran pada noisy dan
imbalance class, walaupun teknik boosting lebih popular
untuk menangani imbalance class, sehingga metode bagging
lebih baik tanpa replacement untuk menangani noisy dan
imbalance class dengan AUC tertinggi sebesar 0.947.
Penelitian yang dilakukan oleh Ma, Luo, Zeng dan Chen
bahwa prediksi kualitas modul software merupakan hal yang
sangat kritis, dalam penelitian ini (Ma, Luo, Zeng, & Chen,
2012) menggunakan algoritma klasifikasi naïve bayes di weka
dengan sebutan metode CC, nearest neighbor filter dengan
sebutan NN-filter dan transfer naïve bayes dengan sebutan
TNB. Dataset dalam penelitian ini menggunakan dataset
NASA: KC1, MC2, KC3, MW1, KC2, PC1, CM1. Hasilnya
bahwa menggunakan algoritma TNB dapat meningkatkan
kinerja menjadi lebih bagus dan dapat meningkatkan AUC
sebesar 0.6236 pada KC1, 0.6252 pada MC2, 0.7377 pada
KC3, 0.6777 pada MW1, 0.7787 pada KC2, 0.5796 pada PC1
dan 0.6594 pada CM1. AUC lebih meningkat dengan
menggunakan algoritma TNB dan AUC dengan hasil AUC
tertinggi sebesar 0.77 pada dataset KC2.
Pada penelitian (Wahono & Herman 2014),
metaheuristic optimization untuk feature selection dapat
menggunakan Genetic Algorithm (GA) dan Particle Swarm
Optimization (PSO) dan untuk dapat lebih meningkatkan
akurasi dari prediksi cacat software menggunakan metode
bagging. Algoritma klasifikasi pada penelitian ini sebanyak 10
algoritma seperti: (Logistic Regression (LR), Linear
Discriminant Analysis (LDA), dan Naïve Bayes (NB)),
Nearest Neighbors (k-Nearest Neighbor (k-NN) dan K*),
Neural Network (Back Propagation (BP)), Support Vector
Machine (SVM), dan Decision Tree (C4.5, Classification and
Regression Tree (CART), dan Random Forest (RF)). Dataset
dalam penelitian ini menggunakan dataset NASA MDP
dengan menggunakan 9 dataset sebagai berikut: CM1, KC1,
KC3, MC2, MW1, PC1, PC2, PC3, PC4. Hasil akhir dari
metode ini dapat menghasilkan peningkatan yang
mengesankan pada banyak metode klasifikasi dan berdasarkan
hasil perbandingan antara GA dan PSO tidak ada perbedaan
yang signifikan ketika menggunakan feature selection pada
banyak metode klasifikasi dalam prediksi cacat software. AUC
rata-rata meningkat 25.99% untuk GA dan PSO meningkat
20.41%.
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 103
http://journal.ilmukomputer.org
3 METODE YANG DIUSULKAN
Penelitian ini dilakukan dengan mengusulkan model,
melakukan eksperimen dengan menguji model yang
diusulkan, evaluasi dan validasi, mengembangkan aplikasi.
Pada penelitian ini dataset yang digunakan adalah dataset
NASA (National Aeronautics and Space Administration)
MDP (Metrics Data Program), dataset yang digunakan
sebanyak 10 dataset yaitu: CM1, JM1, KC1, KC3, MC2, PC1,
PC2, PC3, PC4 DAN PC5. Tabel 1 merupakan spesifikasi dari
dataset NASA MDP.
Tabel 1 Spesifikasi Dataset NASA MDP
Pada penelitian ini mengusulkan model Naïve Bayes dan
seleksi fitur Greedy Forward Selection (NB+GFS), model
yang diusulkan selanjutnya adalah model Naïve Bayes dengan
Greedy Forward Selection dan Bagging (NB+GFS+BG),
model bagging untuk menangani permasalahan
ketidakseimbangan kelas (imbalance class). Gambar 1
merupakan kerangka penelitian yang diusulkan.
Eksperimen dilakukan dengan menguji model
menggunakan aplikasi Rapidminer, hasil kinerja dari model di
evaluasi menggunakan friedman test untuk dapat
membandingkan model-model yang diusulkan sehingga dapat
diketahui model yang terbaik pada penelitian prediksi cacat
software. Validasi yang digunakan dalam penelitian ini
menggunakan 10-fold cross validation. Pengembangan
aplikasi yang dilakukan menggunakan IDE (Integrated
Development Environment) Netbeans dengan bahasa Java.
Gambar 1 merupakan kerangka penelitian yang diusulkan.
FEATURE SELECTION
DATASET
DATA TRAINING DATA TESTING
PROCESSED
TRAINING PROCESSED
TESTING
VALIDATION
PERFORMANCE
REPORT
LEARNING SCHEME 10-FOLD X
VALIDATION
GFS
FEATURE SELECTION
NAÏVE BAYES
LEARNING ALGORITHM
BAGGING
META LEARNING
LEARNING
META LEARNING
Gambar 1 Kerangka Penelitian
Pada model yang diusulkan dataset akan dibagi menjadi
10 bagian menggunakan 10-fold cross validation, data bagian
pertama menjadi data testing dan data bagian kedua sampai
dengan data bagian kesepuluh menjadi data training.
Selanjutnya dilakukan seleksi fitur dengan menggunakan
Greedy Forward Selection (GFS), sehingga dihasilkan fitur-
fitur relevan yang dapat meningkatkan kinerja dari model
prediksi cacat software. Data training yang sudah dibentuk
dengan cross validation akan dibuat data training baru secara
acak oleh model bagging berbasis naïve bayes sebanyak iterasi
yang dimasukkan. Jika lebih banyak masuk dalam kategori
cacat maka record tersebut di prediksi cacat, sebaliknya jika
lebih banyak masuk dalam kategori tidak cacat, maka record
tersebut di prediksi tidak cacat.
A. Seleksi Fitur Greedy Forward Selection
Subset selection merupakan metode feature selection
(seleksi fitur), subset selection adalah menemukan subset
terbaik (fitur), subset yang terbaik mempunyai jumlah dimensi
yang paling berkontribusi pada akurasi. Seleksi fitur Seleksi
fitur untuk menentukan atribut terbaik dan terburuk
menggunakan information gain (Han, Kamber, & Pei, 2012).
Seperti pada Gambar 2.
Gambar 2 Seleksi atribut Greedy
Sumber: (Han, Kamber, & Pei, 2012)
Algoritma greedy dengan seleksi subset atribut (Han,
Kamber, & Pei, 2012) sebagai berikut:
1. Stepwise forward selection
Prosedur dimulai dengan himpunan kosong dari
atribut sebagai set yang dikurangi, atribut yang terbaik
CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
LOC_BLANK
LOC_CODE_AND_COMMENT
LOC_COMMENTS
LOC_EXECUTABLE
LOC_TOTAL
NUMBER_OF_LINES
HALSTEAD_CONTENT
HALSTEAD_DIFFICULTY
HALSTEAD_EFFORT
HALSTEAD_ERROR_EST
HALSTEAD_LENGTH
HALSTEAD_LEVEL
HALSTEAD_PROG_TIME
HALSTEAD_VOLUME
NUM_OPERANDS
NUM_OPERATORS
NUM_UNIQUE_OPERANDS
NUM_UNIQUE_OPERATORS
CYCLOMATIC_COMPLEXITY
CYCLOMATIC_DENSITY
DESIGN_COMPLEXITY
ESSENTIAL_COMPLEXITY
BRANCH_COUNT
CALL_PAIRS
CONDITION_COUNT
DECISION_COUNT
DECISION_DENSITY
DESIGN_DENSITY
EDGE_COUNT
ESSENTIAL_DENSITY
GLOBAL_DATA_COMPLEXITY
GLOBAL_DATA_DENSITY
MAINTENANCE_SEVERITY
MODIFIED_CONDITION_COUNT
MULTIPLE_CONDITION_COUNT
NODE_COUNT
NORMALIZED_CYLOMATIC
PARAMETER_COUNT
PERCENT_COMMENTS
PATHOLOGICAL_COMPLEXITY
Defective
Jumlah atribut 37 21 21 39 39 37 37 37 37 37
Jumlah modul 344 9591 2095 200 127 759 1586 1125 1399 17001
Jumlah modul cacat 42 1759 325 36 44 61 16 140 178 503
Prese ntase modul cacat 12% 18% 16% 18% 35% 8% 1% 12% 13% 3%
Jumlah modul tidak cacat 302 7834 1771 164 83 698 1569 985 1221 16498
Atribut
NASA MDP
Forward
Selection
Backward
Elimination
Atribut asli:
{A1, A2, A3,
A4, A5, A6}
Pengurangan
atribut asli:
{}
=>{A1}
=>{A1, A4}
=>Pengurangan
atribut:
{A1, A4, A6}
Atribut asli:
{A1, A2, A3,
A4, A5, A6}
=>{A1, A3, A4,
A5, A6}
=>{A1, A4, A5,
A6}
=>Pengurangan
Atribut:
{A1, A4,
A6}
Atribut asli:
{A1, A2, A3, A4, A5, A6}
A4?
A1? A6?
Class 1 Class 2 Class 1 Class 2
YN
YNY N
=>Pengurangan Atribut:
{A1, A3, A6}
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 104
http://journal.ilmukomputer.org
dari atribut asli ditentukan dan ditambahkan pada set
yang kurang. Pada setiap iterasi berikutnya yang terbaik
dari atribut asli yang tersisa ditambahkan ke set.
2. Stepwise backward elimination
Prosedur dimulai dengan full set atribut. Pada setiap
langkah, teknik ini dapat menghilangkan atribut terburuk
yang tersisa di dataset.
Atribut terbaik dan terburuk dapat ditentukan dengan
menggunakan tes signifikansi statistik yang berasumsi bahwa
atribut tidak saling berhubungan dengan satu sama lain
(independen) (Han, Kamber, & Pei, 2012). Untuk langkah-
langkah dalam menentukan evaluasi dalam pemilihan atribut
dapat menggunakan information gain yang digunakan dalam
pohon keputusan decision tree (Han, Kamber, & Pei, 2012).
Seleksi atribut menggunakan information gain adalah
memilih gain tertinggi dan formula yang digunakan adalah
sebagai berikut dimana langkah yang pertama adalah dengan
mencari nilai entropy sebagai berikut:


 adalah untuk mengetahui nilai dari entropy,
kemudian jika suatu atribut mempunyai nilai yang berbeda-
beda maka menggunakan formula sebagai berikut:



Kemudian untuk mendapatkan hasil gain, dimana
formulanya menjadi:

B. Bagging
Teknik ensemble merupakan teknik yang sukses untuk
menangani dataset yang tidak seimbang meskipun tidak secara
khusus dirancang untuk masalah data yang tidak seimbang
(Laradji, Alshayeb, & Ghouti, 2015). Teknik bagging
merupakan salah satu teknik ensemble dan teknik ini pada
klasifikasi memisahkan data training ke dalam beberapa data
training baru dengan random sampling dan membangun
model berbasis data training baru (Wahono & Suryana, 2013).
Algoritma bagging untuk klasifikasi (Liu & Zhou, 2013):
Input: Data set D=
Base learning algorithm
The number of iterations T
1. for t=1 to T do
2.  /* 
is the bootstrap distribution */
3. end for
Output: H(x)=


/* I(x)=1 if x is
true, and 0 otherwise */
C. Naïve bayes
Klasifikasi menggunakan naïve bayes dapat
menghasilkan akurasi yang tinggi dan cepat ketika
diaplikasikan pada data yang besar (Han, Kamber, & Pei,
2012). Pengklasifikasi naïve bayes berpendapat bahwa nilai
dari atribut pada kelas tertentu tidak bergantung
(independence) pada nilai atribut lainnya, pendapat ini dapat
disebut class-conditional independence sehingga
perhitungannya dapat dibuat lebih sederhana dan disebut “naif
(naïve)” (Han, Kamber, & Pei, 2012).
Persamaan naïve bayes dengan menggunakan distribusi
gaussian karena dataset NASA MDP merupakan data tipe
numerik. Pada distribusi gaussian, dihitung mean dan
standar deviasi pada semua atribut, berikut adalah
persamaan yang digunakan:



Pengukuran kinerja model menggunakan confusion
matrix, confusion matrix merupakan alat untuk menganalisa
seberapa baik kinerja dari pengklasifikasi dapat mengenali
tupel dari kelas yang berbeda (Han, Kamber, & Pei, 2012).
Confusion matrix memberikan penilaian kinerja klasifikasi
berdasarkan objek dengan benar atau salah (Gorunescu, 2011).
Confusion matrix merupakan matrik 2 dimensi yang
menggambarkan perbandingan antara hasil prediksi dengan
kenyataan.
Berikut adalah persamaan model confusion matrix:


 

 

 






F-measure mengkombinasikan recall atau sensitivity dan
precision sehingga menghasilkan metrik yang efektif untuk
pencarian kembali informasi dalam himpunan yang
mengandung masalah ketidakseimbangan.
Pada kelas yang tidak seimbang karena kelas minoritas
mendominasi sehingga pengukuran kinerja yang tepat
menggunakan Area Under the ROC (Receiver Operating
Characteristic) Curve (AUC), f-measure, Geometric Mean (G-
Mean). Area Under ROC Curve (AUC) digunakan untuk
memberikan metrik numerik single untuk dapat
membandingkan kinerja dari model, nilai AUC berkisar dari 0
sampai 1 dan model yang lebih baik prediksinya adalah yang
mendekati nilai 1 (Gao, Khoshgoftaar, & Wald , 2014).
Berikut adalah persamaan model AUC:
AUC = 
Pedoman umum yang digunakan untuk klasifikasi akurasi
sebagai berikut:
1. 0.90-1.00 = excellent classification
2. 0.80-0.90 = good classification
3. 0.70-0.80 = fair classification
4. 0.60-0.70 = poor classification
5. 0.50-0.60 = failure
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 105
http://journal.ilmukomputer.org
Kurva ROC adalah grafik antara sensitivitas (true
positive rate) pada sumbu Y dengan 1- spesifisitas pada sumbu
X (false positive rate), curve ROC ini seakan-akan
menggambarkan tawar-menawar antara sumbu Y atau
sensitivitas dengan sumbu X atau spesifisitas. Kurva ROC
biasanya digunakan dalam pembelajaran dan data mining, nilai
dalam kurva ROC dapat menjadi evaluasi sehingga dapat
membandingkan algoritma. Dalam klasifikasi kurva ROC
merupakan teknik untuk memvisualisasikan, mengatur dan
memilih klasifikasi berdasarkan kinerja dari algoritma
(Gorunescu, 2011).
Setelah dilakukan evaluasi terhadap model yang
diusulkan, tahap selanjutnya adalah menganalisis model yang
diusulkan dengan menggunakan metode statistik uji t (t-test)
dan uji friedman (friedman test).
Uji t sampel berpasangan (paired-samples t-test)
merupakan prosedur yang digunakan untuk membandingkan
rata-rata dari dua variabel, variabel sebelum dan sesudah
menggunakan model. Uji t dapat disebut juga dengan z-test
dalam statistik dan pengujian ini dilakukan untuk mengetahui
apakah ada perbedaan yang signifikan pada dua variabel yang
diuji.
Algoritma untuk perbandingan performa z-test (Gorunescu,
2011) sebagai berikut:
Input:
Masukkan bagian (akurasi klasifikasi) untuk
sampel pertama (model );
Masukkan bagian (akurasi klasifikasi) untuk
sampel kedua (model );
Masukkan ukuran sampel pada untuk sampel
pertama;
Masukkan ukuran sampel pada untuk sampel
kedua;
Kemudian  dihitung berdasarkan nilai t
untuk perbandingan dengan persamaan berikut ini:


Dimana:

Output:
Level signifikansi untuk akurasi yang berbeda dari dua
model.
Dalam statistik jika diketahui p > 0.05 berarti tidak ada
perbedaan yang signifikan, akan tetapi jika diketahui
nilai p < 0.05 maka ada perbedaan yang signifikan antara
dua model.
4 HASIL EKSPERIMEN
Eksperimen pada penelitian ini menggunakan laptop
LENOVO G470 dengan prosesor Intel Celeron CPU B800 @
1.50 GHz, memori (RAM) 2.00 GB dan sistem operasi
Windows 8.1 Pro 32-bit. Aplikasi yang dikembangkan
menggunakan IDE (Integrated Development Environment)
NetBeans menggunakan bahasa Java. Aplikasi yang
digunakan dalam penelitian ini adalah Rapidminer, hasil
kinerja dari model selanjutnya di analisis menggunakan
menggunakan Microsoft Excel dan XLSTAT.
Hasil pengukuran pada penelitian ini dapat dilihat pada
Tabel 1, dimana Tabel 1 adalah hasil akurasi dari model Naïve
Bayes (NB), model Naïve Bayes dan Greedy Forward
Selection (NB+GFS), model Naïve Bayes dengan Greedy
Forward Selection dan Bagging (NB+GFS+BG). Tabel 2
merupakan hasil pengukuran sensitifitas model NB, NB+GFS
dan NB+GFS+BG. Tabel 3 menunjukkan hasil pengukuran f-
measure model NB, NB+GFS, NB+GFS+BG. Hasil
penguruan g-mean dapat dilihat pada Tabel 4 dan Tabel 5
merupakan hasil AUC pada model NB, model NB+GFS dan
model NB+GFS+BG.
Tabel 1 Hasil Akurasi
Tabel 2 Hasil Sensitifitas
Tabel 3 Hasil F-measure
Tabel 4 Hasil G-mean
Tabel 5 Hasil AUC
Gambar 3 merupakan grafik perbandingan AUC model
Naïve Bayes (NB) dengan model Naïve Bayes dan Greedy
Forward Selection (NB+GFS).
Gambar 3 Grafik AUC Model NB dan NB+GFS
Gambar 4 menunjukkan grafik perbandingan AUC antara
model Naïve Bayes (NB) dengan model Naïve Bayes dan
Greedy Forward Selection dengan Bagging (NB+GFS+BG).
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 82.56% 81.31% 82.25% 79.00% 72.37% 88.54% 95.59% 33.53% 87.42% 96.63%
NB+GFS 86.94% 81.48% 83.64% 82.00% 75.64% 91.84% 96.66% 84.00% 83.99% 97.21%
NB+GFS+BG 85.76% 81.58% 83.35% 83.50% 74.87% 91.18% 96.91% 83.56% 86.77% 97.35%
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 33.33% 94.86% 37.54% 36.11% 35.83% 36.07% 18.75% 90.00% 94.10% 44.73%
NB+GFS 34.67% 95.25% 33.54% 33.33% 43.18% 36.07% 6.25% 37.86% 87.39% 33.80%
NB+GFS+BG 28.57% 95.97% 33.85% 41.67% 50% 55.56% 12.50% 36.43% 91.07% 29.62%
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 0.55 0.95 0.58 0.57 0.57 0.58 0.43 0.48 0.94 0.66
NB+GFS 0.39 0.89 0.39 0.40 0.55 0.42 0.04 0.37 0.91 0.42
NB+GFS+BG 0.33 0.90 0.39 0.48 0.58 0.45 0.20 0.36 0.92 0.40
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 0.546 0.461 0.578 0.567 0.551 0.579 0.425 0.472 0.625 0.66
NB+GFS 0.57 0.44 0.56 0.56 0.63 0.59 0.25 0.59 0.73 0.58
NB+GFS+BG 0.52 0.42 0.56 0.62 0.66 0.71 0.35 0.57 0.72 0.54
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 0.708 0.683 0.786 0.677 0.712 0.775 0.885 0.756 0.84 0.94
NB+GFS 0.769 0.653 0.788 0.765 0.775 0.81 0.894 0.784 0.86 0.941
NB+GFS+BG 0.771 0.688 0.788 0.763 0.781 0.817 0.918 0.778 0.866 0.923
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 106
http://journal.ilmukomputer.org
Gambar 4 Perbandingan AUC Model NB dan NB+GFS+BG
Hasil dari pengukuran kinerja, selanjutnya di analisis
menggunakan uji t (t-test) untuk mengetahui model yang
terbaik. Uji t dilakukan dengan membandingkan dua model
dan mengukur p-value, jika p-value < nilai alpha (0.05), maka
ada perbedaan yang signifikan antara dua model yang
dibandingkan. Sebaliknya, jika p-value > nilai alpha, maka
tidak ada perbedaan yang signifikan.
Uji t dilakukan pada AUC dengan menggunakan metode
statistik untuk menguji hipotesa pada Naïve Bayes (NB)
dengan Naïve Bayes dan Greedy forward selection
(NB+GFS).
H0: Tidak ada perbedaan nilai rata-rata AUC NB dengan
NB+GFS.
H1: Ada perbedaan antara nilai rata-rata AUC NB dengan
NB+GFS.
Tabel 6 Uji t Model NB dan Model NB+GFS
Pada Tabel 6 dapat diketahui bahwa nilai rata-rata AUC
dari model NB+GFS lebih tinggi dibandingkan model NB
sebesar 0.8039. Dalam uji beda statistik nilai alpha ditentukan
sebesar 0.05, jika nilai p lebih kecil dibanding alpha (p < 0.05)
maka H0 ditolak dan H1 diterima sehingga ada perbedaan yang
signifikan antara model yang dibandingkan, akan tetapi jika
nilai p lebih besar dibandingkan nilai alpha (p > 0.05) maka H0
diterima dan H1 ditolak sehingga tidak ada perbedaan yang
signifikan antara model yang dibandingkan.
Pada Tabel 6 dapat dilihat bahwa nilai P(T<=t) adalah
0.03 dan ini menunjukkan bahwa nilai p lebih kecil
dibandingkan nilai alpha (0.03 < 0.05) sehingga hipotesis H0
ditolak dan H1 diterima. Hipotesis H1 diterima berarti ada
perbedaan signifikan antara model NB dan model NB+GFS
sehingga model NB+GFS membuat peningkatan ketika
dibandingkan dibandingkan dengan modek NB.
Tabel 7 Uji t Model NB dan Model NB+GFS+BG
Pada Tabel 7 dapat diketahui bahwa nilai rata-rata AUC
dari model NB+GFS+BG lebih tinggi dibandingkan model NB
sebesar 0.8093. Dalam uji beda statistik nilai alpha ditentukan
sebesar 0.05, jika nilai p lebih kecil dibanding alpha (p < 0.05)
maka H0 ditolak dan H1 diterima sehingga ada perbedaan yang
signifikan antara model yang dibandingkan, akan tetapi jika
nilai p lebih besar dibandingkan nilai alpha (p > 0.05) maka H0
diterima dan H1 ditolak sehingga tidak ada perbedaan yang
signifikan antara model yang dibandingkan.
Pada Tabel 7 dapat dilihat bahwa nilai P(T<=t) adalah
0.01 dan ini menunjukkan bahwa nilai p lebih kecil
dibandingkan nilai alpha (0.01 < 0.05) sehingga hipotesis H0
ditolak dan H1 diterima. Hipotesis H1 diterima berarti ada
perbedaan signifikan antara model NB dan model
NB+GFS+BG sehingga model NB+GFS+BG membuat
peningkatan ketika dibandingkan dengan model NB.
Selanjutnya dilakukan uji friedman untuk mengetahui
model yang terbaik, pada Tabel 8 menunjukkan hasil p-value
dari uji friedman. Nilai yang ditebalkan berarti nilai tersebut
lebih kecil dari 0.05. Tabel 9 merupakan signifikansi dari
model yang dibandingkan, model NB+GFS ada perbedaan
yang signifikan dengan model NB dan model NB+GFS+BG
ada perbedaan yang signifikan dengan model NB.
Tabel 8 P-Value Uji Friedman
Tabel 9 Signifikan Model Uji Friedman
Tabel 10 Table of pairwise differences
Peringkat dari rata-rata diperoleh dari perbandingan
model dan diketahui bahwa nilai peringkat rata-rata dibagi
NB NB+GFS
Mean 0.7762 0.8039
Variance 0.007838178 0.006342767
Observations 10 10
Pearson Correlation 0.917706055
Hypothesized Mean Difference 0
df 9
t Stat -2.487968197
P(T<=t) one-tail 0.017268476
t Critical one-tail 1.833112933
P(T<=t) two-tail 0.034536952
t Critical two-tail 2.262157163
NB NB+GFS+BG
Mean 0.7762 0.8093
Variance 0.007838178 0.005397344
Observations 10 10
Pearson Correlation 0.936299769
Hypothesized Mean Difference 0
df 9
t Stat -3.221564827
P(T<=t) one-tail 0.005231557
t Critical one-tail 1.833112933
P(T<=t) two-tail 0.010463114
t Critical two-tail 2.262157163
NB NB+GFS NB+GFS+BG
NB 10.049 0.007
NB+GFS 0.049 1 0.780
NB+GFS+BG 0.007 0.780 1
NB NB+GFS NB+GFS+BG
NB No Yes Yes
NB+GFS Yes No No
NB+GFS+BG Yes No No
NB NB+GFS NB+GFS+BG
NB 0-1.050 -1.350
NB+GFS 1.050 0 -0.300
NB+GFS+BG 1.350 0.300 0
Critical difference: 1,0481
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 107
http://journal.ilmukomputer.org
dengan jumlah sampel yang digunakan. Perbedaan peringkat
dari rata-rata masing-masing model dibandingkan dengan
Critical Difference yang dapat dilihat pada Tabel 10. Critical
Difference dapat dihitung menggunakan persamaan 

 dan dalam eksperimen ini dihasilkan nilai Critical
Difference sebesar 1.0481. Jika nilai pada Tabel 10 lebih besar
dibandingkan dengan nilai Critical Difference maka model
tersebut mempunyai perbedaan yang signifikan dibandingkan
model lainnya.
Gambar 5 Rata-Rata Peringkat Uji Friedman
Pada Gambar 5 merupakan rata-rata peringkat dari uji
friedman, diketahui bahwa model NB+GFS+BG mempunyai
rata-rata peringkat tertinggi, kemudian diikuti dengan model
NB+GFS dan model NB mempunyai rata-rata peringkat
terendah.
Selanjutnya untuk mengetahui model seleksi fitur yang
terbaik dalam menangani fitur-fitur yang tidak relevan,
dilakukan perbandingan model dengan seleksi fitur lain.
Model yang dibandingkan yaitu: Naïve Bayes (NB), Naïve
Bayes dan Bagging (NB+BG), Naïve Bayes dan Greedy
Forward Selection (NB+GFS), Naïve Bayes dengan Greedy
Forward Selection dan Bagging (NB+GFS+BG), Naïve Bayes
dan Genetic Feature Selection (NB+GAFS), Naïve Bayes dan
Forward Selection (NB+FS), Naïve Bayes dan Backward
Elimination (NB+BE). Tabel 11 menunjukkan hasil AUC dari
masing-masing model yang dibandingkan.
Tabel 11 Perbandingan AUC dengan Seleksi Fitur Lain
Tabel 12 Pairwise Differences
Pada Tabel 12 menunjukkan bahwa nilai NB+GFS dan
NB+GFS+BG lebih besar dibandingkan nilai Critical
Difference berarti model NB+GFS dan model NB+GFS+BG
mempunyai perbedaan yang signifikan ketika dibandingkan
dengan model NB+FS. Tabel 13 diketahui bahwa nilai p (p-
value) lebih kecil dari nilai alpha sehingga ada perbedaan
signifikan antara model. Pada Tabel 13 dapat dilihat bahwa
model NB+GFS dan model NB+GFS+BG mempunyai
perbedaan yang signifikan dengan model NB+FS sehingga
hipotesa H1 diterima dan kesimpulannya adalah model
NB+GFS dan model NB+GFS+BG ada peningkatan ketika
dibandingkan dengan model NB+FS. Model yang mempunyai
perbedaan yang signifikan dan mempunyai peningkatan
dibandingkan model lainnya ditandai dengan angka yang
ditebalkan. Pada Tabel 14 merupakan hasil perbedaan
signifikansi antara model yang dibandingkan, model yang
berisi Yes merupakan model yang mempunyai perbedaan
signifikan dengan model lainnya, sedangkan model yang berisi
No merupakan model yang tidak mempunyai perbedaan
signifikan terhadap model lainnya.
Tabel 13 Hasil P-Value Uji Friedman
Tabel 14 Perbedaan Signifikansi
Gambar 6 Grafik AUC Mean Uji Friedman
Gambar 7 Grafik Rata-Rata Peringkat Uji Friedman
Pada Gambar 6 dapat dilihat bahwa model
NB+GFS+BG merupakan model terbaik dalam penelitian ini
dengan mempunyai rata rata AUC tertinggi dalam uji friedman
Model CM1 JM1 KC1 KC3 MC2 PC1 PC2 PC3 PC4 PC5
NB 0.708 0.683 0.786 0.677 0.712 0.775 0.885 0.756 0.84 0.94
NB+BG 0.717 0.685 0.789 0.673 0.721 0.794 0.877 0.756 0.838 0.942
NB+GFS 0.769 0.653 0.788 0.765 0.775 0.81 0.894 0.784 0.86 0.941
NB+GFS+BG 0.771 0.688 0.788 0.763 0.781 0.817 0.918 0.778 0.866 0.923
NB+GAFS 0.757 0.635 0.79 0.719 0.758 0.79 0.75 0.792 0.857 0.952
NB+FS 0.601 0.612 0.799 0.749 0.707 0.742 0.824 0.583 0.812 0.886
NB+BE 0.717 0.659 0.768 0.734 0.275 0.799 0.908 0.808 0.885 0.938
NB NB+BG NB+GFS NB+GFS+BG NB+GAFS NB+FS NB+BE
NB 0 -0.750 -2.200 -2.700 -1.250 0.750 -1.200
NB+BG 0.750 0 -1.450 -1.950 -0.500 1.500 -0.450
NB+GFS 2.200 1.450 0 -0.500 0.950 2.950 1.000
NB+GFS+BG 2.700 1.950 0.500 0 1.450 3.450 1.500
NB+GAFS 1.250 0.500 -0.950 -1.450 0 2.000 0.050
NB+FS -0.750 -1.500 -2.950 -3.450 -2.000 0 -1.950
NB+BE 1.200 0.450 -1.000 -1.500 -0.050 1.950 0
Critical difference: 2,8483
NB NB+BG NB+GFS NB+GFS+BG NB+GAFS NB+FS NB+BE
NB 1 0.987 0.255 0.077 0.855 0.987 0.878
NB+BG 0.987 1 0.744 0.403 0.999 0.713 0.999
NB+GFS 0.255 0.744 1 0.999 0.958 0.037 0.946
NB+GFS+BG 0.077 0.403 0.999 1 0.744 0.007 0.713
NB+GAFS 0.855 0.999 0.958 0.744 1 0.371 1.000
NB+FS 0.987 0.713 0.037 0.007 0.371 1 0.403
NB+BE 0.878 0.999 0.946 0.713 1.000 0.403 1
NB NB+BG NB+GFS NB+GFS+BG NB+GAFS NB+FS NB+BE
NB No No No No No No No
NB+BG No No No No No No No
NB+GFS No No No No No Yes No
NB+GFS+BG No No No No No Yes No
NB+GAFS No No No No No No No
NB+FS No No Yes Yes No No No
NB+BE No No No No No No No
Journal of Software Engineering, Vol. 1, No. 2, December 2015 ISSN 2356-3974
Copyright © 2015 IlmuKomputer.Com 108
http://journal.ilmukomputer.org
dan model NB+GFS merupakan model terbaik kedua yang
diikuti oleh model NB+GAFS, NB+BG, NB, NB+BE dan
NB+FS. Gambar 7 merupakan rata-rata peringkat dimana
model NB+GFS+BG merupakan model terbaik yang
menunjukkan bahwa seleksi fitur greedy forward selection dan
bagging mampu meningkatkan kinerja model prediksi cacat
software dengan memperbaiki model NB dan dapat
menangani permasalahan ketidakseimbangan kelas
(imbalance class) dan fitur-fitur yang tidak relevan (irrelevant
features).
5. KESIMPULAN
Pengembangan software diperlukan agar menghasilkan
software yang berkualitas. Kualitas software ditentukan
dengan melakukan pemeriksaan dan pengujian, untuk
menemukan cacat dalam software tersebut yang dapat
menurunkan kualitas software. Dataset cacat software
umumnya memiliki ketidaseimbangan kelas dan fitur-fitur
yang tidak relevan yang dapat menyebabkan menurunnya
kinerja dari algoritma pembelajaran. Salah satu algoritma
pembelajaran yang digunakan dalam prediksi cacat software
yaitu naïve bayes, yang merupakan algoritma terbaik untuk
prediksi cacat atau tidaknya sebuah software. Pada penelitian
ini mengusulkan model Naïve Bayes dan seleksi fitur Greedy
Forward Selection (NB+GFS) untuk mengatasi permasalahan
fitur-fitur yang tidak relevan, sedangkan untuk mengatasi
permasalahan ketidakseimbangan kelas menggunakan model
Naïve Bayes dengan Greedy Forward Selection dan Bagging
(NB+GFS+BG). Hasil eksperimen dalam penelitian ini
mendapatkan nilai AUC tertinggi pada model NB+GFS
sebesar 0.941 dan untuk model NB+GFS+BG mendapatkan
nilai AUC tertinggi sebesar 0.923 pada dataset PC5. Untuk
menentukan model model terbaik dalam penelitian prediksi
cacat software, selanjutnya dilakukan friedman test. Hasil
friedman test diketahui bahwa nilai rata-rata peringkat dengan
tertinggi adalah model NB+GFS+BG, sehingga model
NB+GFS+BG merupakan model terbaik dalam penelitian
prediksi cacat software.
REFERENSI
Arora, I., Tetarwal, V., & Saha, A. (2015). Open Issues in Software
Defect Prediction. Procedia Computer Science, 906-912.
Chang, R., Mu, X., & Zhang, L. (2011). Software Defect Prediction
Using Non-Negative Matrix Factorization. Journal of
Software, 2114-2120.
Gao, K., Khoshgoftaar, T., & Wald , R. (2014). Combining Feature
Selection and Ensemble Learning for Software Quality
Estimation. Twenty-Seventh International Florida Artificial
Intelligence Research society Conference (pp. 47-52).
Association for the Advacement of Artificial Intelligence.
Gorunescu, F. (2011). Data Mining Concepts, Models and
Techniques. Berlin: Springer.
Han, J., Kamber, M., & Pei, J. (2012). Data Mining Concepts and
Techniques. Waltham: Elsevier.
Khoshgoftaar, T. M., Hulse, J. V., & Napolitano, A. (2011).
Comparing Boosting and Bagging Techniques with Noisy
and Imbalanced Data. IEEE Transactions on Systems, Man
and Cybernetics, 552-568.
Laradji, I. H., Alshayeb, M., & Ghouti, L. (2015). Software Defect
Prediction Using Ensemble Learning on Selected Features.
Information and Software Technology, 388-402.
Lee, C.-H. (2015). A Gradient Approach for Value Weighted
Classification Learning in Naive Bayes. Knowledge-Based
Systems, 1-9.
Lessmann, S., Baesens, B., Mues, C., & Pietsch, S. (2008).
Benchmarking Classification Models for Software Defect
Prediction: A Proposed Framework and Novel Findings.
IEEE Transactions on Software Engineering, 485-496.
Liu, X.-Y., & Zhou, Z.-H. (2013). Ensemble Methods for Class
Imbalance Learning. Imbalanced Learning: Foundations,
Algorithms, and Applications, First Edition, 61-82.
Ma, Y., Luo, G., Zeng, X., & Chen, A. (2012). Transfer Learning for
Cross-Company Software Defect Prediction. Information
and Software Technology, 248-256.
Song, Q., Jia, Z., Shepperd, M., Ying, S., & Liu, J. (2010). A General
Software Defect-Proneness Prediction Framework. IEEE
Transaction on Software Engineering, 1-16.
Strate, J. D., & Laplante, P. A. (2013). A Literature Review of
Research in Software Defect Reporting. IEEE Transactions
on Reliability, 444-454.
Wahono, R. S. (2015). A Systematic Literature Review of Software
Defect Prediction: Research Trends, Datasets, Methods and
Frameworks. Journal of Software Engineering, 1-16.
Wahono, R. S., & Suryana, N. (2013). Combining Particle Swarm
Optimization based Feature Selection and Bagging
Technique for Software Defect. IJSEIA, 153-166.
Wahono, R. S., Suryana, N., & Ahmad, S. (2014). Metaheuristic
Optimization based Feature Selection for Software Defect
Prediction. Journal of Software, 1324-1333.
Witten, I. H., Frank, E., & Hall, M. A. (2011). Data Mining Practical
Machine Learning Tools and techniques. Burlington:
Elsevier.
BIOGRAFI PENULIS
Fitriyani. Memperoleh gelar S.T pada bidang
Sistem Informasi dari Universitas BSI
Bandung dan gelar M.Kom pada bidang
software engineering dari STMIK Nusa
Mandiri. Staf pengajar di Universitas BSI
Bandung. Minat penelitian saat ini meliputi
software engineering dan machine learning.
Romi Satria Wahono. Memperoleh gelar
B.Eng. dan M.Eng. di bidang Ilmu Komputer
dari Saitama University, Japan, dan gelar
Ph.D. di bidang Software Engineering dari
Universiti Teknikal Malaysia Melaka. Dia
saat ini sebagai dosen program Pascasarjana
Ilmu Komputer di Universitas Dian
Nuswantoro, Indonesia. Dia juga pendiri dan
CEO PT Brainmatics Cipta Informatika, sebuah perusahaan
pengembangan perangkat lunak di Indonesia. Minat penelitiannya
saat ini meliputi rekayasa perangkat lunak dan machine learning.
Anggota Profesional ACM dan IEEE Computer Society.
... Klasifikasi Naïve Bayes berdasarkan asumsi bahwa prinsip hipotesis posteriori maksimum untuk mengindentifikasi yang paling mungkin diklasifikasikan [10]. Bagging (Bootstrap Aggregating) merupakan teknik yang dapat meningkatkan klasifikasi dengan kombinasi klasifikasi secara acak pada dataset training [11]. Seleksi fitur dapat mengurangi dimensional pada data untuk meningkatkan kinerja dari mesin pembelajaran [12] dan merupakan langkah yang penting dalam mesin pembelajaran (machine learning) [13]. ...
... Persamaan Naïve Bayes dalam penelitian ini menggunakan Distribusi Gaussian karena dataset Algerian Forest Fire merupakan dataset numerik. Pada Distribusi Gaussian dihitung mean dan standar deviasi pada semua atribut [11]. Berikut formula dari Distribusi Gaussian: ...
... Confusion matrix, confusion matrix merupakan alat untuk menganalisa seberapa baik kinerja dari pengklasifikasi dapat mengenali tupel dari kelas yang berbeda [7]. Confusion matrix merupakan matrik 2 dimensi yang menggambarkan perbandingan antara hasil prediksi dengan kenyataan [11]. Berikut adalah persamaan model confusion matrix: DAFTAR PUSTAKA ...
Article
Full-text available
Kebakaran hutan tidak hanya menimbulkan kerusakan ekonomi dan ekologi, akan tetapi juga mengancam kehidupan manusia dengan pencemaran udara karena asap yang ditimbulkan.Tingginya angka kejadian kebakaran hutan menentukan pentingnya prediksi dilakukan. Algerian Forest Fire merupakan dataset kebakaran hutan yang digunakan dalam penelitian ini, dimana dataset ini akan diolah dengan model yang diusulkan. Dataset ini memiliki fitur-fitur yang tidak relevan dan akan mempengaruhi terhadap kinerja dari model yang diusulkan, sehingga pemilihan fitur yang relevan menggunakan Forward Selection. Metode Bagging digunakan untuk menangani ketidakseimbangan kelas yang ada pada dataset ini dan algoritma Naïve Bayes sebagai algoritma machine learning yang diimplementasikan dalam penelitian ini. Hasil akurasi terbaik adalah sebesar 98.40% pada model Naive Bayes, Bagging dan Greedy Forward Selection dan 92.63% pada model Naïve Bayes dan Bagging.
... Naive Bayes sebagai salah satu algoritma banyak dipakai dalam metode klasifikasi memiliki kenerja yang baik dan mudah dalam penerapannya (Fitriyani. Wahono R. S, 2015). Naïve Bayes buakanlah metode yang baru digunakan untuk memprediksi segala kemungkinan yang tejadi pada suatu kasus. Naïve Bayes merupakan salah metode klasifikasi data mining yang popular ( (Fahdia et al., 2020). Algoritma ini memanfaatkan teori probabilitas, naive bayes merupakan bagian dari supervised learning, dimana menjadi salah s ...
... Pada penelitian(Fitriyani. Wahono R. S, 2015). membahas tentang pengujian cacat software dengan menggunakan metode Naive Bayes untuk prediksi cacat software yaitu menentukan software mana yang masuk kategori cacat dan tidak cacat. ...
Article
Full-text available
Program Kampus Merdeka bertujuan menyiapkan mahasiswa menghadapi tantangan perubahan social, dan kemajuan teknologi yang semakin cepat. Dengan program ini diharapkan perguruan tinggi dapat menghasilkan lulusan yang dapat menghadapi dinamika masyarakat dalam dunia usaha dan dunia industri. Kebijakan Kampus Merdeka yang memberikan ruang untuk mengambil prodi lain atau prodi sama di kampus lain sama sekali. Twitter salah satu media yang digemari digunakan sebagai media bersosialisasi, bertukar informasi dan berpendapat sehingga sesuai sebagai sumber analisa sentiment. Mengumpulkan, mengenali, mengekstrak opini dalam bentuk teks sehingga dapat digunakan sebagai informasi yang bermanfaat. Algoritma klasifikasi Naïve Bayes memprediksi apakah suatu opini bernilai positif atau negative. Menganalisa data dengan jumlah besar membutuhkan operator Union. Berdasarkan hasil analisa akumulasi sentiment menghasilkan nilai positif 86% dibandingkan yang memberikan nilai negative 14%. Sehingga dapat disimpulan Program Merdeka Belajar memberikan opini baik. Selain itu untuk mengoptimalkan data yang tidak seimbang digunakan Synthetic Minority Oversampling Technique (SMOTE) menghasilkan keakuratan data sebesar 99.21% sedangkan tanpa SMOTE keakuratan data hanya 77.60%. Sehingga dapat disimpulan Program Merdeka Belajar memberikan opini baik.
... Dalam langkah data cleaning, data mentah akan dibersihkan melalui beberapa proses seperti mengisi nilai yang hilang, memperbaiki data karena ada simbol seperti (@ # : ;) dan lain-lain. Data juga bisa dibersihkan dan dirapikan menggunakan segmen-segmen yang memiliki ukuran serupa atau dengan mengelompokkannya ke dalam kelompok data yang serupa (grouping) [8]. ...
... Metode naïve bayes dapat mengasumsikan semua atribut independen yang diberikan oleh nilai pada variabel kelas [11]. Menurut Wahono [12], "Metode naïve bayes dinilai cukup sederhana dan mudah untuk diimplementasikan sehingga saat diuji dengan dataset yang benar maka metode ini akan sangat efektif". Keuntungan menggunakan metode naïve bayes hanya membutuhkan sedikit data training untuk menentukan estimasi parameter dalam proses klasifikasi [13]. ...
Article
Indonesia termasuk salah satu negara berkembang yang menghadapi kemiskinan khususnya didaerah kecil seperti Kelurahan Talang Babat yang terletak di Kabupaten Tanjung Jabung Timur Provinsi Jambi, penyebab terjadinya kemiskinan yaitu data warga penerima Bantuan Langsung Tunai tidak akurat dan tidak tepat sasaran.Hal ini dapat menimbulkan keluhan masyarakat, dan ketidakpuasan terhadap petugas kelurahan. Salah satu aspek penting yang mendukung strategi penanggulangan kemiskinan adalah dengan tersedianya data warga penerima Bantuan Langsung Tunai (BLT) yang akurat dan tepat sasaran. Oleh karena itu dibutuhkan metode untuk megelompokkan data penerima BLT, agar pemberian BLT tepat sasaran. Pada penelitian ini algoritma Naïve Bayes diimplementasikan dan dianalisis menggunakan evaluasi 3 options dengan Rapid miner sebagai alat bantu penelitian. Dari hasil evaluasi menggunakan 3 options test yaitu Use training set, 5 Fold Cross-Validation dan 10 Fold Cross-Validation, didapatkan persentase nilai tertinggi pada pengujian Use training set yang akurasinya sebesar 90,60%, presisi 96,67%, dan recall 92,06%.
... Tujuan dari seleksi fitur adalah untuk memilih fitur terbaik atau yang paling relevan untuk digunakan sehingga dapat meningkatkan hasil akurasi dan performa pada model yang diusulkan (Mongkareng, Setiawan, & Permanasari, 2017). Seleksi fitur juga diterapkan dalam penelitian (Fitriyani & Wahono, 2015) untuk mengatasi data yang berdimensi tinggi atau fitur-fitur yang dianggap tidak memiliki kontribusi. ...
Article
Full-text available
Disabilitas merupakan gangguan, keterbatasan aktivitas dan pembatasan partisipasi. Disabilitas disebut juga interaksi antara individu dengan kondisi kesehatan seperti (Cerebral palsy, sindrom Down dan depresi), faktor pribadi dan lingkungan seperti sikap negatif. Disabilitas dapat mengganggu perkembangan alami tubuh tergantung pada jenis kelamin, usia dan lingkungan. Penderita disabilitas merupakan kelompok minoritas terbesar didunia, 80% penderita berasal dari negara-negara berkembang. Selain itu Anak-anak menempati menyandang disabilitas dengan jumlah sepertiga dari jumlah keseluruhan penyandang disabilitas di dunia. Pada penerapannya proses diagnosis dan klasifikasi dimensi disabilitas membutuhkan ahli terapis okupasi. Teknik data mining dapat digunakan untuk membantu proses diagnosis yang bertujuan untuk menghindari kesalahan dalam diagnosis. Tujuan penelitian ini adalah untuk mengklasifikasikan masalah kemampuan perawatan diri anak disabilitas menjadi 7 kelas. Penelitian ini menggunakan dataset yang merepresentasikan masalah kemampuan perawatan diri anak dengan disabilitas. Dataset yang akan digunakan memiliki permasalahan multidimensional dataset dimana dataset memiliki fitur yang lebih banyak dibandingkan dengan jumlah datanya. Multidimensional dataset dilihat dari Jumlah fitur yang dimiliki yaitu 205 fitur dan 1 label dengan jumlah data sebanyak 70. Metode yang diusulkan pada penelitian ini yaitu greedy stepwise sebagai metode untuk mengatasi masalah multidimensional dataset dengan menyeleksi fitur bertujuan memilih fitur yang paling relevan. Selain greedy stepwise diterapkan juga metode neural network yang digunakan sebagai algoritme klasifikasi. Hasil penelitian menunjukan bahwa metode seleksi fitur greedy stepwise dengan penerapan neural network memperoleh nilai akurasi sebesar 84.2857% yang bisa disimpulkan hasil akurasinya baik.
... Algoritma Naïve Bayes merupakan pengklasifikasian statistik sebagai algoritma yang dapat menghasilkan akurasi yang tinggi dan dapat mengolah data yang banyak dan Naïve bayes merupakan algoritma algoritma yang mudah diimplementasikan sehingga sangat efektif apabila di uji dengan menggunakan dataset yang tepat, terutama bila naïve bayes dengan seleksi fitur, maka naïve bayes dapat mengurangi redundant pada data [4]. Selain itu juga Algoritma tersebut dapat dikategorikan sebagai Algoritma yang sederhana dan memiliki atribut bersifat berdiri sendiri sehingga dapat mengungguli algoritma yang lain [5]. ...
Article
Perhotelan merupakan salah satu badan usaha yang memiliki potensi untuk tumbuh dan berkembang yang membutuhkan banyak investasi yang berdiri baik di tengah kota maupun di daerah tujuan wisata. Pemesanan kamar hotel dapat dilakukan oleh pelanggan sebelum mereka menggunakan hotel melalui media online, namun permasalahan yang terjadi adalah pelanggan yang telah melakukan pemesanan kamar dapat membatalkan pesanan dengan berbagai alasan, sehingga pelaku bisnis perhotelan merasa rugi karena pembatalan tersebut dapat memberikan peluang bagi desainer untuk mendapatkan pelanggan ini. Penelitian ini menggunakan Algoritma Naïve Bayes sebagai algoritma yang dapat menghasilkan akurasi tinggi dan dapat mengolah banyak data, serta pemilihan mundur sebagai pemilihan nilai parameter yang sesuai untuk meningkatkan akurasi. Penelitian ini menggunakan 10.000 data pelanggan kamar hotel dengan hasil akurasi menggunakan Algoritma Naïve Bayes 89.67%, dan hasil akurasi menggunakan Algoritma Naïve Bayes dan Pemilihan Fitur Backward Elemination sebesar 97.83%. Hasil Prediksi Check-Out, Dibatalkan dan No-Show.Kata kunci: Prediksi, Pemesanan Kamar Hotel, Naïve Bayes, Backward Elemination.
... Naive Bayes adalah algoritma data mining yang menerapkan teorema Bayes dalam proses klasifikasi. Naive Bayes sendiri memiliki definisi klasifikasi, dengan teknik probabilitas dan statistik, yang dapat memprediksi kejadian di masa depan berdasarkan kejadian yang sudah ada sebelumnya [10][11] [18]. Persamaan teorema Bayes dan interpretasinya ditunjukkan pada Persamaan (4) berikut [19] [20]. ...
Article
Full-text available
The purpose of this research is to compare the performance of the Stochastic Gradient Descent and Naïve Bayes algorithms in classifying Diabetic Retinopathy. Diabetic retinopathy is a complication of diabetes that causes damage to the retina of the eye. These disturbances can be detected by early detection through data extracted from eye images. This research uses source data from the UCI Machine Learning Repository, namely Diabetic Retinopathy Debrecen, totaling 1,151 data records with 19 attributes consisting of 18 attributes and 1 target attribute. The validation test uses the Cross Validation method with a total of 10 k. From the comparison of the two proposed methods, the Stochastic Gradient Descent algorithm produces an average test accuracy of 70.16%, while Naïve Bayes produces an average accuracy of 56.74%. From the comparison of the two algorithms, the Stochastic Gradient Descent algorithm is known to be superior in classifying the Diabetic Retinopathy Debrecen Dataset.
... Subset selection merupakan metode feature selection (seleksi fitur), subset selection adalah menemukan subset terbaik (fitur), subset yang terbaik mempunyai jumlah dimensi yang paling berkontribusi pada akurasi [16]. Greedy Forward Selection merupakan salah satu pendekatan dalam algoritma greedy pada metode seleksi atribut atau seleksi fitur [10]. ...
Article
Full-text available
Diabetes merupakan penyakit yang mengancam kehidupan dengan pertumbuhan tercepat dan jika tidak diobati atau diindentifikasi akan menyebabkan komplikasi lain. Diabetes setiap tahunnya mengakibatkan kematian sebanyak 3.8 juta jiwa dan telah mempengaruhi 422 juta orang di seluruh Dunia. Dataset diabetes yang digunakan dalam penelitian ini adalah dataset publik, dataset ini akan diolah menggunakan model yang diusulkan. Dataset diabetes memiliki permasalahan seperti adanya fitur-fitur yang tidak relevan, fitur-fitur yang tidak relevan dapat menurunkan kinerja dari model yang digunakan. Seleksi fitur Greedy Forward Selection adalah seleksi fitur yang sangat efisien dan cepat dalam prosesnya. Algoritma Naïve Bayes merupakan algoritma yang mudah dan sederhana ketika diimplementasikan. Hasil penelitian menunjukkan bahwa model Naïve Bayes dan Greedy Forward Selection mendapatkan nilai akurasi tertinggi sebesar 91.73%, sedangkan model Naïve Bayes tanpa seleksi fitur Greedy Forward Selection hanya mendapat nilai akurasi sebesar 87.69%
... Gorunescu dikutip dalam (Fitriyani & Wahono, 2015) untuk menghitung akurasi digunakan persamaan di bawah ini: ...
Article
Full-text available
Healthcare service has the role to help and serve people to access medical services, i.e. providing medicines, medical consultation, or health control. Healthcare service has been transforming to a digital platform. Halodoc is one of the digital platforms that people can use for free or paid, user can also give reviews of Halodoc’s performance and services on Google Play Store to give feedback that Halodoc can use to evaluate and improve the app. The Google Play Store review is increasing every day. Therefore an analysis for the review with sentiment analysis for Halodoc’s review is needed, first phase of sentiment analysis for the review is preprocessing which has tokenization, transform to lower cases, filter stopword, dan filter token (by length) processes. The data is divided into two positive and negative classes with cross-validation and a k-fold validation value of 10, using Naïve Bayes Classifier algorithm with 81,68% accuracy and AUC 0.756, categorized as fair classification.
Article
Full-text available
Distributed Denial of Service or better known as DDoS is an attempted attack from several computer systems that target a server so that the amount of traffic becomes too high so that the server cannot handle the request. DDoS is usually done by using several computer systems that are used as sources of attacks. So they attack one server through several computers so that the amount of traffic can also be higher. A DDoS attack is like a traffic jam that prevents a driver from reaching their desired destination on time. According to data, 33% of businesses in the world have fallen victim to DDoS attacks. DDoS is hard to trace. Some types of DDoS attacks can be very powerful and even reach speeds of 1.35 Tbps. Additionally, DDoS attacks can cause losses of $ 40,000 per hour if they occur. ZigBee is a standard from IEEE 802.15.4 for data communication on personal consumer devices as well as for business scale. ZigBee is designed with low power consumption and works for low level personal networks. ZigBee devices are commonly used to control another device or as a wireless sensor. ZigBee has a feature which is able to manage its own network, or manage data exchange on the network [1]. Another advantage of ZigBee is that it requires low power, so it can be used as a wireless control device which only needs to be installed once, because only one battery can make ZigBee last up to a year. In addition, ZigBee also has a "mesh" network topology so that it can form a wider network and more reliable data. In the previous research of Muhammad Aziz, Rusydi Umar, Faizin Ridho (2019) based on the results of the analysis carried out that the attack information that has been detected by the IDS based on signatures needs to be reviewed for accuracy using classification with statistical calculations. Based on the analysis and testing carried out with the artificial neural network method, it was found that the accuracy was 95.2381%. The neural network method can be applied in the field of network forensics in determining accurate results and helping to strengthen evidence at trial. The Naïve Bayes model performed relatively poor overall and produced the lowest accuracy score of this study (45%) when trained with the CICDDoS2019 dataset [47]. For the same model, precision was 66% and recall was 54%, meaning that almost half the time, the model misses to identify threats.
Article
Full-text available
Recent studies of software defect prediction typically produce datasets, methods and frameworks which allow software engineers to focus on development activities in terms of defect-prone code, thereby improving software quality and making better use of resources. Many software defect prediction datasets, methods and frameworks are published disparate and complex, thus a comprehensive picture of the current state of defect prediction research that exists is missing. This literature review aims to identify and analyze the research trends, datasets, methods and frameworks used in software defect prediction research betweeen 2000 and 2013. Based on the defined inclusion and exclusion criteria, 71 software defect prediction studies published between January 2000 and December 2013 were remained and selected to be investigated further. This literature review has been undertaken as a systematic literature review. Systematic literature review is defined as a process of identifying, assessing, and interpreting all available research evidence with the purpose to provide answers for specific research questions. Analysis of the selected primary studies revealed that current software defect prediction research focuses on five topics and trends: estimation, association, classification, clustering and dataset analysis. The total distribution of defect prediction methods is as follows. 77.46% of the research studies are related to classification methods, 14.08% of the studies focused on estimation methods, and 1.41% of the studies concerned on clustering and association methods. In addition, 64.79% of the research studies used public datasets and 35.21% of the research studies used private datasets. Nineteen different methods have been applied to predict software defects. From the nineteen methods, seven most applied methods in software defect prediction are identified. Researchers proposed some techniques for improving the accuracy of machine learning classifier for software defect prediction by ensembling some machine learning methods, by using boosting algorithm, by adding feature selection and by using parameter optimization for some classifiers. The results of this research also identified three frameworks that are highly cited and therefore influential in the software defect prediction field. They are Menzies et al. Framework, Lessmann et al. Framework, and Song et al. Framework.
Article
Full-text available
Software Defect Prediction (SDP) is one of the most assisting activities of the Testing Phase of SDLC. It identifies the modules that are defect prone and require extensive testing. This way, the testing resources can be used efficiently without violating the constraints. Though SDP is very helpful in testing, it's not always easy to predict the defective modules. There are various issues that hinder the smooth performance as well as use of the Defect Prediction models. In this report, we have distinguished some of the major issues of SDP and studied what has been done so far to address them.
Article
Full-text available
Software defect prediction has been an important research topic in the software engineering field, especially to solve the inefficiency and ineffectiveness of existing industrial approach of software testing and reviews. The software defect prediction performance decreases significantly because the data set contains noisy attributes and class imbalance. Feature selection is generally used in machine learning when the learning task involves high-dimensional and noisy attribute datasets. Most of the feature selection algorithms, use local search throughout the entire process, consequently near-optimal to optimal solutions are quiet difficult to be achieved. Metaheuristic optimization can find a solution in the full search space and use a global searchability, significantly increasing the ability of finding high quality solutions within a reasonable period of time. In this research, we propose the combination of metaheuristic optimization methods and bagging technique for improvingthe performance of the software defect prediction. Metaherustic optimization methods (genetic algorithm and particle swarm optimization) are applied to deal with the feature selection, and bagging technique is employed to deal with the class imbalance problem. Results have indicated that the proposed methods makes an impressive improvement in prediction performance for most classifiers. Based on the comparison result, we conclude that there is no significant difference between particle swarm optimization and genetic algorithm when used as feature selection for most classifiers in software defect prediction.
Article
Full-text available
The costs of finding and correcting software defects have been the most expensive activity in software development. The accurate prediction of defect‐prone software modules can help the software testing effort, reduce costs, and improve the software testing process by focusing on fault-prone module. Recently, static code attributes are used as defect predictors in software defect prediction research, since they are useful, generalizable, easy to use, and widely used. However, two common aspects of data quality that can affect performance of software defect prediction are class imbalance and noisy attributes. In this research, we propose the combination of particle swarm optimization and bagging technique for improving the accuracy of the software defect prediction. Particle swarm optimization is applied to deal with the feature selection, and bagging technique is employed to deal with the class imbalance problem. The proposed method is evaluated using the data sets from NASA metric data repository. Results have indicated that the proposed method makes an impressive improvement in prediction performance for most classifiers.
Book
Data Mining: Practical Machine Learning Tools and Techniques, Fourth Edition, offers a thorough grounding in machine learning concepts, along with practical advice on applying these tools and techniques in real-world data mining situations. This highly anticipated fourth edition of the most acclaimed work on data mining and machine learning teaches readers everything they need to know to get going, from preparing inputs, interpreting outputs, evaluating results, to the algorithmic methods at the heart of successful data mining approaches. Extensive updates reflect the technical changes and modernizations that have taken place in the field since the last edition, including substantial new chapters on probabilistic methods and on deep learning. Accompanying the book is a new version of the popular WEKA machine learning software from the University of Waikato. Authors Witten, Frank, Hall, and Pal include today's techniques coupled with the methods at the leading edge of contemporary research. Please visit the book companion website at http://www.cs.waikato.ac.nz/ml/weka/book.html It contains Powerpoint slides for Chapters 1-12. This is a very comprehensive teaching resource, with many PPT slides covering each chapter of the book Online Appendix on the Weka workbench; again a very comprehensive learning aid for the open source software that goes with the book Table of contents, highlighting the many new sections in the 4th edition, along with reviews of the 1st edition, errata, etc. Provides a thorough grounding in machine learning concepts, as well as practical advice on applying the tools and techniques to data mining projects Presents concrete tips and techniques for performance improvement that work by transforming the input or output in machine learning methods Includes a downloadable WEKA software toolkit, a comprehensive collection of machine learning algorithms for data mining tasks-in an easy-to-use interactive interface Includes open-access online courses that introduce practical applications of the material in the book.
Article
High dimensionality is a major problem that affects the quality of training datasets and therefore classification models. Feature selection is frequently used to deal with this problem. The goal of feature selection is to choose the most relevant and important attributes from the raw dataset. Another major challenge to building effective classification models from binary datasets is class imbalance, where the minority class has far fewer instances than the majority class. Data sampling (altering the dataset to change its balance level) and boosting (building multiple models, with each model tuned to work better on instances misclassified by previous models) are common techniques for resolving this problem. In particular, ensemble boosting, which integrates sampling with AdaBoost, has been shown to improve classification performance, especially for imbalanced training datasets. In this paper, we investigate approaches for combining feature selection with this ensemble learning (boosting) process. Six feature selection techniques and two forms of the ensemble learning method are examined. We focus on two different scenarios: feature selection performed prior to the ensemble learning process and feature selection performed inside the ensemble learning process. The experimental results demonstrate that performing feature selection inside of ensemble boosting generally performs better than using feature selection prior to ensemble boosting. Copyright © 2014, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved.
Chapter
This chapter introduces ensemble learning and gives an overview of ensemble methods for class imbalance learning. In class imbalance learning (CIL), ensemble methods are broadly used to further improve the existing methods or help design brand new ones. These methods are categorized into three groups: standard ensemble methods, CIL methods that do not use ensemble methods to handle imbalanced data, and ensemble methods for CIL. The ensemble methods are roughly categorized into Bagging-style methods, such as UnderBagging, OverBagging, SMOTEBagging, and Chan; boosting-based methods, such as Synthetic minority over-sampling technique (SMOTE)Boost, RUSBoost, and DataBoost-IM; and hybrid ensemble methods, such as EasyEnsemble and BalanceCascade.Controlled Vocabulary Termsbagging; learning (artificial intelligence)
Article
Feature weighting has been an important topic in classification learning algorithms. In this paper, we propose a new paradigm of assigning weights in classification learning, called value weighting method. While the current weighting methods assign a weight to each feature, we assign a different weight to the values of each feature. The proposed method is implemented in the context of naive Bayesian learning, and optimal weights of feature values are calculated using a gradient approach. The performance of naive Bayes learning with value weighting method is compared with that of other state-of-the-art methods for a number of datasets. The experimental results show that the value weighting method could improve the performance of naive Bayes significantly.
Article
In 2002, the National Institute of Standards and Technology (NIST) estimated that software defects cost the U.S. economy in the area of $60 billion a year. It is well known that identifying and tracking these defects efficiently has a measurable impact on software reliability. In this work, we evaluate 104 academic papers on defect reporting published since the NIST report to 2012 to identify the most important advancements in improving software reliability though the efficient identification and tracking of software defects. We categorize the research into the areas of automatic defect detection, automatic defect fixing, attributes of defect reports, quality of defect reports, and triage of defect reports. We then summarize the most important work being done in each area. Finally, we provide conclusions on the current state of the literature, suggest tools and lessons learned from the research for practice, and comment on open research problems.