Perkembangan teknologi informasi menyebabkan jumlah data yang tersedia semakin meningkat, sehingga diperlukan metode yang tepat untuk mengolah data menjadi informasi yang bermanfaat. Salah satu pendekatan yang dapat digunakan adalah machine learning, yaitu metode yang memungkinkan komputer mempelajari pola dari data untuk menghasilkan prediksi atau klasifikasi. Salah satu teknik dalam machine learning adalah ensemble learning, yang menggabungkan beberapa model untuk meningkatkan kinerja prediksi. Bagging (Bootstrap Aggregating) merupakan salah satu metode ensemble learning yang dilakukan dengan membentuk beberapa sampel bootstrap dari data pelatihan, kemudian menggabungkan hasil prediksi dari model yang dibangun pada setiap sampel. Penerapan Bagging pada Classification and Regression Tree (CART) dapat dimanfaatkan dalam klasifikasi kelulusan mahasiswa untuk menghasilkan model prediksi berdasarkan karakteristik data (Imtiyaz dkk, 2023).
Metode Bagging bekerja dengan melakukan pengambilan sampel ulang dari data pelatihan menggunakan teknik bootstrap, kemudian membangun sejumlah model secara terpisah dan menggabungkan hasil prediksinya. Pada permasalahan klasifikasi, penggabungan hasil umumnya dilakukan melalui mekanisme majority voting, sedangkan pada regresi menggunakan rata-rata prediksi. Penerapan Bagging bertujuan untuk mengurangi variabilitas model dan meningkatkan kestabilan hasil prediksi. Teknik Bagging pada algoritma C4.5 untuk klasifikasi persetujuan peminjaman di koperasi, menunjukkan bahwa metode ini dapat digunakan untuk mendukung proses klasifikasi berbasis data (Daryanto dkk, 2022).
Pemahaman mengenai metode Bagging penting untuk mengetahui bagaimana proses pembentukan sampel bootstrap dan penggabungan model dapat memengaruhi hasil prediksi. Implementasi Bagging menggunakan perangkat lunak R dapat membantu mahasiswa memahami tahapan analisis secara langsung, mulai dari persiapan data hingga pembentukan model. Selain itu, evaluasi performa perlu dilakukan untuk mengetahui kemampuan model dalam menghasilkan prediksi yang tepat.
Berdasarkan latar belakang, rumusan masalah yang dapat disimpulkan adalah:
Apa yang dimaksud dengan metode Bagging?
Bagaimana cara mengimplementasikan metode Bagging dengan menggunakan R?
Bagaimana cara mengevaluasi perfoma Bagging?
Berdasarkan rumusan masalah, tujuan yang dapat disimpulkan adalah:
Mahasiswa dapat memahami konsep dasar dan prinsip kerja metode Bagging.
Mahasiswa dapat mengimplementasikan metode Bagging dengan menggunakan R.
Mengevaluasi perfoma Bagging.
Adapun manfaat pada penelitian ini, yaitu:
Adapun batasan masalah pada laporan praktikum pertemuan ini adalah gunakan data breast cancer kemudian lakukan bagging classification dengan bandingkan hasil dengan menggunakan nbagg=c(25, 50, 100). Kemudian hitung metrik evaluasinya
Adapun sistematika penulisan dari praktikum ini adalah:
BAB I PENDAHULUAN Bab I terdiri dari latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA Bab tinjauan pustaka ini meliputi landasan teori yang berisi tentang pembahasan teori yang digunakan dalam penelitian.
BAB III METODE PENELITIAN Bab ini terdiri dari analisis jenis dan sumber data, variabel penelitian, algoritma penelitian, dan diagram alur.
BAB IV HASIL DAN PEMBAHASAN Bab ini merupakan tahapan pencapaian hasil yang diperoleh dari analisis data yang dilakukan serta penjelasan dari hasil tersebut di bagian pembahasan.
BAB V KESIMPULAN DAN SARAN Bab ini merupakan bagian penutup dalam laporan ini berupa penarikan kesimpulan mengenai hasil analisis dari penelitian serta penyampaian saran oleh penulis.
DAFTAR PUSTAKA
LAMPIRAN
Bootstrap Aggregating atau Bagging merupakan metode ensemble learning yang menggabungkan hasil prediksi dari beberapa model untuk memperoleh prediksi akhir yang lebih stabil. Metode ini dilakukan dengan membentuk sejumlah sampel bootstrap dari data pelatihan, membangun model pada setiap sampel, kemudian menggabungkan hasil prediksi seluruh model tersebut (Goldameir dkk, 2021).
metode Bagging dapat digunakan untuk meningkatkan ketepatan klasifikasi dengan menggabungkan hasil dari beberapa model regresi logistik biner. Penelitian tersebut memperoleh ketepatan klasifikasi sebesar 75,641% menggunakan Bagging, lebih tinggi dibandingkan model regresi logistik biner tanpa Bagging yang menghasilkan ketepatan sebesar 69,74%. Hasil ini menunjukkan bahwa penerapan Bagging berpotensi meningkatkan performa klasifikasi, meskipun peningkatannya bergantung pada karakteristik data dan model yang digunakan (Putri, Mariani, & Sunarmi, 2021).
Prinsip kerja Bagging terdiri atas dua tahapan utama, yaitu bootstrap dan aggregating. Tahap bootstrap merupakan proses pengambilan sampel secara acak dari data pelatihan dengan pengembalian (sampling with replacement), sehingga satu observasi dapat terpilih lebih dari satu kali dalam sampel yang sama. Tahap aggregating merupakan proses penggabungan hasil prediksi dari seluruh model yang telah dibangun berdasarkan sampel bootstrap tersebut (Lestari, 2021).
Langkah-langkah dalam bagging secara garis besar dibagi menjadi empat bagian (Fransiska, 2026):
Membuat sampel dari data pelatihan (training data); jumlah sampel harus dalam jumlah yang sesuai (tidak terlalu banyak maupun terlalu sedikit).
Melatih model pada masing-masing sampel.
Membuat classifier dari setiap model dan menyimpan hasilnya.
Berdasarkan jenis ensemble yang digunakan baik itu voting tertimbang (weighted vote), voting mayoritas (majority vote), atau cara khusus lainnya, hasil tersebut digabungkan untuk memprediksi data uji (test data).
Beberapa fitur penting dari bagging adalah sebagai berikut (Fransiska, 2026):
Setiap model dikembangkan secara paralel dan independen satu sama lain.
Membantu mengurangi variance, tetapi tidak efektif dalam mengurangi bias.
Paling cocok digunakan untuk model dengan variance tinggi dan bias rendah (model yang kompleks).
Random Forest merupakan contoh yang baik (algoritma random Forest melakukan pemangkasan/pruning pada pohon untuk mengurangi korelasi).
Jenis data yang digunakan di dalam penelitian ini berupa data kuantitatif. Data kuantitatif merupakan data atau informasi yang didapatkan dalam bentuk angka atau numerik. Data yang digunakan merupakan data sekunder yang diperoleh dari dataset BreastCancer pada paket mlbench pada program RStudio. Dataset ini terdiri atas 699 observasi yang digunakan untuk mengklasifikasikan kondisi tumor payudara ke dalam dua kategori, yaitu benign (jinak) dan malignant (ganas). Dalam praktikum ini, metode Bagging Classification diterapkan dengan membandingkan jumlah model atau bootstrap yang digunakan, yaitu nbagg = 25, nbagg = 50, dan nbagg = 100, untuk mengetahui perbedaan performa klasifikasi berdasarkan jumlah model yang dibentuk.
Variabel penelitian adalah karakter atau segala sesuatu yang menjadi perhatian dalam suatu penelitian. Pada penelitian ini terdapat 10 variabel prediktor dan 1 variabel respon. Variabel prediktor meliputi Id (identitas sampel), Cl.thickness (ketebalan gumpalan sel), Cell.size (keseragaman ukuran sel), Cell.shape (keseragaman bentuk sel), Marg.adhesion (adhesi marginal), Epith.c.size (ukuran sel epitel), Bare.nuclei (inti sel yang tidak tertutup), Bl.cromatin (kromatin lunak), Normal.nucleoli (nukleolus normal), dan Mitoses (aktivitas mitosis). Sementara itu, variabel respon yang digunakan adalah Class, yang menunjukkan kategori kondisi tumor payudara, yaitu benign (jinak) dan malignant (ganas).
Berikut adalah algoritma untuk menyelesaiankan batasan masalah:
Memanggil package yang diperlukan dan memuat dataset BreastCancer.
Memeriksa struktur, dimensi, ringkasan data, dan missing value.
Menghapus variabel Id dan menangani nilai hilang menggunakan na.omit().
Membagi data menjadi 70% data training dan 30% data testing secara terstratifikasi berdasarkan kelas.
Membangun model Bagging Classification dengan nbagg = 25, 50, dan 100 menggunakan data training yang sama.
Melakukan prediksi pada data testing untuk setiap model.
Membentuk confusion matrix dan menghitung akurasi, presisi, recall, spesifisitas, serta F1-score.
Membandingkan hasil evaluasi ketiga model melalui tabel dan grafik.
Menentukan model yang lebih baik berdasarkan hasil evaluasi, dengan perhatian khusus pada recall kelas malignant.
knitr::opts_chunk$set(echo = FALSE)
# Jalankan sekali jika package belum terpasang:
# install.packages(c("mlbench", "ipred", "caret", "ggplot2", "tidyr"))
library(mlbench)
library(ipred)
library(caret)
library(ggplot2)
library(tidyr)
data("BreastCancer")
# Pemeriksaan awal dataset
str(BreastCancer)## 'data.frame': 699 obs. of 11 variables:
## $ Id : chr "1000025" "1002945" "1015425" "1016277" ...
## $ Cl.thickness : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 5 5 3 6 4 8 1 2 2 4 ...
## $ Cell.size : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 1 1 2 ...
## $ Cell.shape : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 2 1 1 ...
## $ Marg.adhesion : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 5 1 1 3 8 1 1 1 1 ...
## $ Epith.c.size : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 2 7 2 3 2 7 2 2 2 2 ...
## $ Bare.nuclei : Factor w/ 10 levels "1","2","3","4",..: 1 10 2 4 1 10 10 1 1 1 ...
## $ Bl.cromatin : Factor w/ 10 levels "1","2","3","4",..: 3 3 3 3 3 9 3 3 1 2 ...
## $ Normal.nucleoli: Factor w/ 10 levels "1","2","3","4",..: 1 2 1 7 1 7 1 1 1 1 ...
## $ Mitoses : Factor w/ 9 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 5 1 ...
## $ Class : Factor w/ 2 levels "benign","malignant": 1 1 1 1 1 2 1 1 1 1 ...
## [1] 699 11
## Id Cl.thickness Cell.size Cell.shape Marg.adhesion
## Length :699 1 :145 1 :384 1 :353 1 :407
## N.unique :645 5 :130 10 : 67 2 : 59 2 : 58
## N.blank : 0 3 :108 3 : 52 10 : 58 3 : 58
## Min.nchar: 5 4 : 80 2 : 45 3 : 56 10 : 55
## Max.nchar: 8 10 : 69 4 : 40 4 : 44 4 : 33
## 2 : 50 5 : 30 5 : 34 8 : 25
## (Other):117 (Other): 81 (Other): 95 (Other): 63
## Epith.c.size Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses
## 2 :386 1 :402 2 :166 1 :443 1 :579
## 3 : 72 10 :132 3 :165 10 : 61 2 : 35
## 4 : 48 2 : 30 1 :152 3 : 44 3 : 33
## 1 : 47 5 : 30 7 : 73 2 : 36 10 : 14
## 6 : 41 3 : 28 4 : 40 8 : 24 4 : 12
## 5 : 39 (Other): 61 5 : 34 6 : 22 7 : 9
## (Other): 66 NAs : 16 (Other): 69 (Other): 69 (Other): 17
## Class
## benign :458
## malignant:241
##
##
##
##
##
## Id Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size
## 1 1000025 5 1 1 1 2
## 2 1002945 5 4 4 5 7
## 3 1015425 3 1 1 1 2
## 4 1016277 6 8 8 1 3
## 5 1017023 4 1 1 3 2
## 6 1017122 8 10 10 8 7
## Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses Class
## 1 1 3 1 1 benign
## 2 10 3 2 1 benign
## 3 2 3 1 1 benign
## 4 4 3 7 1 benign
## 5 1 3 1 1 benign
## 6 10 9 7 1 malignant
Berdasarkan syntax package mlbench digunakan untuk menyediakan dataset BreastCancer, ipred untuk membangun model Bagging, caret untuk evaluasi klasifikasi, ggplot2 untuk visualisasi, dan tidyr untuk pengelolaan data. Selanjutnya, dataset diperiksa menggunakan fungsi str(), dim(), summary(), dan head() untuk mengetahui struktur, dimensi, ringkasan, serta beberapa observasi awal.
Berdasarkan hasil statistik deskriptif, dataset terdiri atas 699 observasi dan 11 variabel. Variabel Class menunjukkan 458 observasi benign (jinak) dan 241 observasi malignant (ganas). Beberapa karakteristik sel didominasi kategori bernilai rendah, seperti Mitoses dengan kategori 1 sebanyak 579 observasi. Selain itu, ditemukan 16 nilai hilang pada variabel Bare.nuclei yang perlu ditangani sebelum pemodelan.
## Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size
## 0 0 0 0 0
## Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses Class
## 16 0 0 0 0
## [1] 16
## [1] 683 10
## [1] 0
##
## benign malignant
## 444 239
Berdasarkan hasil pemeriksaan menunjukkan bahwa terdapat 16 nilai hilang pada variabel Bare.nuclei, sedangkan variabel lainnya tidak memiliki nilai hilang. Setelah baris yang mengandung nilai hilang dihapus, jumlah data menjadi 683 observasi dan tidak ditemukan nilai hilang lagi. Data tersebut terdiri atas 444 observasi benign dan 239 observasi malignant, sehingga kategori jinak masih mendominasi dataset.
## Jumlah data training: 479
## Jumlah data testing : 204
##
## benign malignant
## 0.6492693 0.3507307
##
## benign malignant
## 0.6519608 0.3480392
Dataset yang telah dibersihkan dibagi menjadi 479 observasi data training dan 204 observasi data testing. Data training terdiri atas 64,93% kategori benign dan 35,07% kategori malignant, sedangkan data testing terdiri atas 65,20% kategori benign dan 34,80% kategori malignant. Proporsi kedua kelas relatif serupa pada kedua kelompok data, sehingga data training dapat digunakan untuk membangun model dan data testing untuk mengevaluasi hasil prediksi.
##
## Bagging classification trees with 25 bootstrap replications
##
## Call: bagging.data.frame(formula = Class ~ ., data = train_data, nbagg = nb,
## coob = TRUE)
##
## Out-of-bag estimate of misclassification error: 0.0438
##
## Bagging classification trees with 50 bootstrap replications
##
## Call: bagging.data.frame(formula = Class ~ ., data = train_data, nbagg = nb,
## coob = TRUE)
##
## Out-of-bag estimate of misclassification error: 0.0418
##
## Bagging classification trees with 100 bootstrap replications
##
## Call: bagging.data.frame(formula = Class ~ ., data = train_data, nbagg = nb,
## coob = TRUE)
##
## Out-of-bag estimate of misclassification error: 0.0418
Pemodelan dilakukan dengan membandingkan jumlah replikasi bootstrap (nbagg) sebesar 25, 50, dan 100. Model dengan 25 replikasi menghasilkan kesalahan out-of-bag sebesar 4,38%, sedangkan model dengan 50 dan 100 replikasi menghasilkan kesalahan sebesar 4,18%. Hasil tersebut menunjukkan bahwa penambahan replikasi dari 25 menjadi 50 menurunkan kesalahan model, tetapi penambahan hingga 100 replikasi tidak memberikan perubahan.
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 131 3
## malignant 2 68
##
## Accuracy : 0.9755
## 95% CI : (0.9437, 0.992)
## No Information Rate : 0.652
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9458
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9577
## Specificity : 0.9850
## Pos Pred Value : 0.9714
## Neg Pred Value : 0.9776
## Prevalence : 0.3480
## Detection Rate : 0.3333
## Detection Prevalence : 0.3431
## Balanced Accuracy : 0.9714
##
## 'Positive' Class : malignant
##
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 130 3
## malignant 3 68
##
## Accuracy : 0.9706
## 95% CI : (0.9371, 0.9891)
## No Information Rate : 0.652
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9352
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9577
## Specificity : 0.9774
## Pos Pred Value : 0.9577
## Neg Pred Value : 0.9774
## Prevalence : 0.3480
## Detection Rate : 0.3333
## Detection Prevalence : 0.3480
## Balanced Accuracy : 0.9676
##
## 'Positive' Class : malignant
##
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 130 3
## malignant 3 68
##
## Accuracy : 0.9706
## 95% CI : (0.9371, 0.9891)
## No Information Rate : 0.652
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9352
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9577
## Specificity : 0.9774
## Pos Pred Value : 0.9577
## Neg Pred Value : 0.9774
## Prevalence : 0.3480
## Detection Rate : 0.3333
## Detection Prevalence : 0.3480
## Balanced Accuracy : 0.9676
##
## 'Positive' Class : malignant
##
Berdasarkan hasil prediksi, model dengan 25 replikasi menghasilkan akurasi sebesar 97,55%, sedangkan model dengan 50 dan 100 replikasi masing-masing memperoleh akurasi sebesar 97,06%. Hasil ini menunjukkan bahwa model dengan 25 replikasi memberikan akurasi lebih tinggi pada data pengujian dibandingkan kedua model lainnya.
## nbagg Accuracy Precision Recall Specificity F1_Score
## 1 25 97.55 97.14 95.77 98.50 96.45
## 2 50 97.06 95.77 95.77 97.74 95.77
## 3 100 97.06 95.77 95.77 97.74 95.77
Berdasarkan hasil perhitungan metrik evaluasi menunjukkan bahwa model dengan 25 replikasi memperoleh akurasi 97,55%, presisi 97,14%, recall 95,77%, spesifisitas 98,50%, dan F1-score 96,45%. Sementara itu, model dengan 50 dan 100 replikasi menghasilkan akurasi 97,06%, presisi 95,77%, recall 95,77%, spesifisitas 97,74%, dan F1-score 95,77%.
Perbandingan menunjukkan bahwa model dengan 25 replikasi memiliki nilai akurasi, presisi, spesifisitas, dan F1-score yang lebih tinggi. Sementara itu, nilai recall ketiga model sama, yaitu 95,77%. Dengan demikian, penambahan jumlah replikasi bootstrap tidak selalu meningkatkan performa klasifikasi.
## Model dengan F1-score tertinggi (recall sebagai pemecah seri):
## nbagg Accuracy Precision Recall Specificity F1_Score
## 1 25 0.9754902 0.9714286 0.9577465 0.9849624 0.964539
##
## Nilai recall untuk setiap nbagg:
## nbagg Recall F1_Score
## 1 25 0.9577465 0.9645390
## 2 50 0.9577465 0.9577465
## 3 100 0.9577465 0.9577465
Berdasarkan hasil evaluasi, model dengan 25 replikasi dipilih sebagai model terbaik karena menghasilkan akurasi dan F1-score tertinggi, masing-masing sebesar 97,55% dan 96,45%. Model ini juga memiliki recall sebesar 95,77%, yang menunjukkan kemampuannya dalam mengenali kelas malignant.
## Jumlah observasi setelah penanganan missing value: 683
## Jumlah data training: 479
## Jumlah data testing : 204
## nbagg Accuracy Precision Recall Specificity F1_Score
## 1 25 97.55 97.14 95.77 98.50 96.45
## 2 50 97.06 95.77 95.77 97.74 95.77
## 3 100 97.06 95.77 95.77 97.74 95.77
##
## nbagg dengan recall tertinggi: 25
## Recall tertinggi (%): 95.77
Secara keseluruhan, model Bagging dengan 25 replikasi menghasilkan performa terbaik berdasarkan metrik evaluasi yang digunakan. Model ini memperoleh akurasi 97,55%, presisi 97,14%, recall 95,77%, spesifisitas 98,50%, dan F1-score 96,45%. Sementara itu, model dengan 50 dan 100 replikasi menghasilkan nilai evaluasi yang sama.
Berdasarkan hasil dapat disimpulkan bahwa metode Bagging Classification berhasil diterapkan pada dataset BreastCancer menggunakan 25, 50, dan 100 replikasi bootstrap. Setelah dilakukan penanganan missing value, diperoleh 683 observasi yang dibagi menjadi 479 data training dan 204 data testing. Hasil evaluasi menunjukkan bahwa model dengan 25 replikasi menghasilkan kinerja terbaik, dengan akurasi sebesar 97,55%, presisi 97,14%, recall 95,77%, spesifisitas 98,50%, dan F1-score 96,45%. Sementara itu, model dengan 50 dan 100 replikasi menghasilkan akurasi sebesar 97,06% dengan nilai metrik evaluasi yang sama. Dengan demikian, penambahan jumlah replikasi bootstrap tidak selalu meningkatkan kinerja model. Berdasarkan hasil perbandingan tersebut, model dengan 25 replikasi dipilih sebagai model terbaik untuk mengklasifikasikan tumor ke dalam kategori benign dan malignant.
Daryanto, D., Rahman, M., & Wardiyanto, D. V. (2022). Teknik Bagging pada klasifikasi algoritma C4.5 untuk menentukan persetujuan peminjaman di koperasi. SMARTICS Journal, 8(2), 80–87.
Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Laboratorium Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu.
Goldameir, N. E., Yolanda, A. M., Adnan, A., & Febrianti, L. (2021). Classification of the Human Development Index in Indonesia using the Bootstrap Aggregating method. Sinkron: Jurnal dan Penelitian Teknik Informatika, 6(1).
Imtiyaz, W., Satyahadewi, N., & Perdana, H. (2023). Application of Bagging CART in the Classification of On-Time Graduation of Students in the Statistics Study Program of Tanjungpura University. BAREKENG: Jurnal Ilmu Matematika dan Terapan, 17(4), 2243–2252.
Lestari, S. (2021). Perbandingan hasil akurasi metode penentuan label teknik Bagging untuk kasus klasifikasi data tidak seimbang [Skripsi, Universitas Lambung Mangkurat].
Putri, D. L. W., Mariani, S., & Sunarmi. (2021). Peningkatan ketepatan klasifikasi model regresi logistik biner dengan metode Bagging (Bootstrap Aggregating). Indonesian Journal of Mathematics and Natural Sciences, 44(2), 61–72.