Tentang Model
- Beranda
- Tentang Model
Optimasi XGBoost untuk Deteksi URL Phishing Menggunakan Bayesian Optimization
Phishing merupakan salah satu ancaman keamanan siber yang memanfaatkan URL palsu untuk mencuri informasi pengguna. Penelitian ini mengembangkan model XGBoost yang dioptimasi menggunakan Bayesian Optimization (Optuna) untuk mendeteksi URL phishing berdasarkan karakteristik URL dan meningkatkan performa klasifikasi.
Tujuan Penelitian
Mengoptimasi performa model XGBoost dalam mendeteksi URL phishing menggunakan Bayesian Optimization (Optuna) sehingga diperoleh kombinasi hyperparameter yang lebih optimal dan menghasilkan kinerja klasifikasi yang lebih baik dibandingkan konfigurasi default.
Sekilas Hasil Penelitian dalam Angka
497.159
Total Data URL (Final)
42
Fitur
40
Trial Optimasi Optuna
90,24%
F1-Score Akhir (Sesudah Optimasi)
Sumber, Pembersihan, dan Pembagian Data
Dua dataset sumber digabungkan: satu berisi URL phishing, satu berisi campuran URL legitimate & phishing, kemudian dibersihkan agar bebas dari nilai kosong, konflik label, dan duplikat.
Sumber Dataset
| Dataset | Jumlah Baris | Label Asli |
|---|---|---|
| phishing.csv | 54.807 | Phishing |
| urldataset.csv | 450.176 | Legitimate, Phishing |
Tahapan Pembersihan Data
| Tahap | Jumlah Data |
|---|---|
| Gabungan awal 2 dataset | 504.983 |
| Setelah hapus nilai kosong & konflik label (3 URL) | 504.977 |
| Setelah hapus duplikat (Dataset Final) | 497.159 |
Distribusi Label Final
Data Splitting (70/15/15)
- Train348.011 (70%)
- Validation74.574 (15%)
- Test74.574 (15%)
Pembagian dilakukan secara stratified agar proporsi kelas tetap terjaga di setiap subset.
Penanganan Imbalance (SMOTE)
| Legitimate | Phishing | |
|---|---|---|
| Sebelum SMOTE | 242.007 | 106.004 |
| Sesudah SMOTE | 242.007 | 242.007 |
SMOTE diterapkan hanya pada data latih agar tidak terjadi kebocoran data ke validation/test set.
42 Fitur dari Struktur URL
Seluruh fitur diekstraksi langsung dari struktur URL ternormalisasi , lalu disaring melalui proses seleksi fitur menjadi 42 fitur yang paling berkontribusi. Fitur dikelompokkan menjadi lima kategori berikut.
XGBoost yang Dioptimasi dengan Bayesian Optimization
Algoritma & Metode
-
Algoritma: XGBoost Classifier (objective
binary:logistic, eval_metriclogloss, tree_methodhist) - Metode optimasi: Bayesian Optimization via Optuna dengan TPE Sampler
- Objektif optimasi: memaksimalkan F1-Score pada data validasi
- Jumlah trial: 40 trial
- Data tuning: subsample 120.000 baris dari data latih (sudah di-SMOTE) demi efisiensi
- Model final dilatih ulang pada gabungan train + validation agar perbandingan adil
#31
Trial Terbaik
0,8859
F1 Validasi Terbaik
Hyperparameter Hasil Optimasi
| Hyperparameter | Nilai Optimal |
|---|---|
| n_estimators | 898 |
| learning_rate | 0.0626537837298013 |
| max_depth | 10 |
| min_child_weight | 5 |
| subsample | 0.9465971350785821 |
| colsample_bytree | 0.65733830212863 |
| gamma | 0.016566125599230985 |
| reg_alpha | 7,789842528382075 × 10⁻⁸ |
| reg_lambda | 0,00028810489427179807 |
Dampak Bayesian Optimization pada Performa Model
Kedua model dievaluasi pada test set yang sama (74.574 data, tidak pernah dilihat selama tuning), menggunakan threshold optimal masing-masing. Selisihnya murni berasal dari proses optimasi hyperparameter.
| Metrik | Sebelum | Sesudah | Gap | % |
|---|---|---|---|---|
| Accuracy | 0,9201 | 0,9404 | +0,0203 | +2,20% |
| Precision | 0,8465 | 0,9004 | +0,0539 | +6,37% |
| Recall | 0,9012 | 0,9044 | +0,0032 | +0,36% |
| F1-Score | 0,8730 | 0,9024 | +0,0294 | +3,37% |
Fitur Paling Berpengaruh pada Model Akhir
Dihitung berdasarkan gain dari model XGBoost sesudah optimasi. Sepuluh fitur teratas berikut paling berkontribusi dalam membedakan URL phishing dari legitimate.
Model Final: XGBoost + Bayesian Optimization (Optuna)
Konfigurasi akhir: 42 fitur · SMOTE · Optuna TPE (40 trial) .
94,04%
Accuracy
90,04%
Precision
90,44%
Recall
90,24%
F1-Score
Kesimpulan Utama
- Optimasi hyperparameter dengan Bayesian Optimization (Optuna) meningkatkan SELURUH metrik dibanding XGBoost default
- F1-Score naik dari 0,8730 menjadi 0,9024 (+3,37%)
- Model sesudah optimasi mempertahankan performa tinggi & seimbang pada Accuracy, Precision, Recall, dan F1
- Fitur is_suspicious_tld, at_count, dan tld_length menjadi indikator paling kuat dalam mendeteksi URL phishing