Anda di halaman 1dari 11

BAB IV

HASIL DAN PEMBAHASAN

Implementasi dari metode penelitian yang dijelaskan pada bab sebelumnya digunakan
sebagai tindaklanjut atas studi yang dilakukan. Pengimplementasian metode penelitian
dijabarkan pada beberapa sub-bab dibawah ini

4.1. Load Dataset


Sebelum memulai mendefinisikan model pembelajaran mesin hal yang pertama
kali dilakukan dalam penelitian ini adalah megubah dataset kedalam sebuah dataframe
menggunakan pustaka Pandas. Dataset terlihat seperti pada Gambar 2.

Gambar 2. Tampilan dari dataset

Berdasarkan gambar tersebut diketahui bahwa dataset memiliki 45221 data


serta memiliki 17 variabel kolom

4.2. Data Treatment


Pada tahap ini dilakukan treatment pada beberapa variabel kolom education
agar lebih dimengerti jenjang pendidikan setelah diubah menjadi urutan label kategori
dari primary, secondary, tertiary, dan unknown menjadi label 0, 1, 2, 3. Hasilnya yaitu
nilai pada variabel education akan diubah menjadi angka sesuai dengan jenjang
pendidikan. Nilai 3 yang mewakili unkown pada fitur education diubah menjadi NaN

35
Gambar 3. Tampilan Dataset setelah di treatment

Kemudian dilanjutkan pada nilai unknown tiap fitur di ubah menjadi nilai NaN.Maka
Hasilnya akan menjadi seperti gambar 3 dibawah ini.
Terlihat bahwa setiap nilai Unknown diubah menjadi nilai NaN. Pada gambar 4.
Berdasarkan gambar tersebut diketahui bahawa dataframe memiliki data kolom yang
bernilai null. Dataset memiliki nilai null pada beberapa variabel atau fitur antara lain
job sebanyak 288 data, education sebanyak 1857, contact sebanyak 13020, poutcome
sebanyak 36959.

Gambar 4. Jumlah missing value pada tiap fitur

36
4.3. Data Labeling
Setelah dilakukan data treatment selanjutkan dilakukan data labeling pada
tahapan ini setiap data berjenis kategori diubah menjadi label angka agar dataset
terlihat lebih bersih. Setelah kode dijalankan, dataset menjadi seperti gambar 5
dibawah dibawah.

Gambar 5. Tampilan dataset setelah diberikan label pada fitur kategorikal

Terdapat perubahan nilai NaN menjadi -1 hal ini dikarenakan efek dari code yang
dijalankan sebelumnya. Nilai -1 akan disesuaikan pada proses berikutnya yaitu proses
imputasi

4.4. Data imputation


Berdasarkan proses sebelumnya kita telah mengetahui bawah variabel
job,education, contact, poutcome memiliki nilai null. Kemudian tahapan selanjutnya
adalah dilakukan proses imputasi menggunakan decision tree dengan melakukan
proses klasifikasi sederhana memanfaatkan data nilai lengkap untuk dilatih yang
nantinya di test pada data yang memiliki nilai kosong yang kemudian data yang
memiliki nilai kosong di isi berdasarkan hasil klasifikasi sederhana .

Hasil imputasi akan terlihat pada gambar 6. Nilai -1 telah di isi dengan hasil
imputasi decision tree. Maka tahapan imputasi telah selesai

37
Gambar 6. Tampilan dataset setelah dilakukan proses imputasi decision tree

4.5. Data Normalization


Setelah dilakukan proses imputasi, tahap selanjutnya adalah menormalisasikan semua
variabel numerik. Hal ini bertujuan untuk mengurangi redudansi data dengan kata lain
yaitu pengulangan. Dalam tahap ini variabel yang di normalisasikan age, balance,
duration, day, campaign, pdays, dan previous. Tahap ini menggunakan MinMaxScaler.

Terlihat pada gambar 7 bahwa semua data numerik telah di normalisasi menggunakan
MinMaxScaler dengan rentang angka 0 hingga 1

Gambar 7. Tampilan dataset setelah dilakukan proses normalisasi minmax

4.6. One Hot Encoding


Dari dataset yang dihasilkan oleh proses data normalization selanjutnya dilakukan
encoding pada variabel berjenis kategoris seperti job, marital, education, default,
housing, loan, contact, month, poutcome Seluruh variabel kategoris tersebut dikodekan

38
ulang menggunakan teknik one hot encoding sehingga menghasilkan dataset input
yang lebih banyak dan spesifik dari sebelumnya. Dataset yang telah dilakukan proses
encoding ini menghasilkan data sebesar 45221 dengan kolom sebanyak 48 kolom
seperti pada gambar 8.

Gambar 8. Tampilan dataset setelah dilakukan proses one hot encoding

4.7. Splitting Dataset


Pada tahap ini dilakukan pemisahan dataset atau Splitting dataset. Dalam
penelitian ini proporsi dataset yang dipisah menjadi 80% data latih dan 20% data uji.
Kode untuk splitting dataset dapat dilihat pada baris kode dibawah ini. Berikut jumlah
pemisahan data latih, dan data uji pada gambar 9.

Gambar 9. Tampilan jumlah data train dan data test

Hasil dari Splitting dari 45221 data menjadi 36168 untuk data latih, dan 9043 untuk
data uji. Jumlah tersebut telah sesuai dengan rasio yang telah ditentukan yaitu 80% :
20%

39
4.8. Balancing Dataset

Gambar 10. Tampilan jumlah data train yang telah dilakukan proses SMOTE

Diketahui bahwa variabel target 0 dan 1 memiliki perbedaan yang cukup


berbeda maka perlu dilakukan proses penyetaraan data. Pada tahap ini dilakukan proses
oversampling menggunakan metode SMOTE (Synthetic Minority Over-sampling
Technique). Berikut hasil balancing data pada gambar 10, Bahwa label 1 yang
sebelumnya berjumlah 4226 data kemudian di oversampling menghasilkan data
berjumlah sama dengan label 0 yaitu sebanyak 31942.

4.9. Mendefinisikan Hyperparameter


Untuk mendefinisikan hyperparameter dalam penelitian ini mencakup
beberapa variabel seperti n_estimators sebagai representasi jumlah tree dalam gradient
boosting. Jika semakin banyak jumlah tree maka proses melakukan training akan
semakin lama, learning_rate sebagai alah satu parameter digunakan dalam mengatur
kecepatan dalam algoritma pembelajaran. Kemudian Subsample sebagai potongan data
latih yang digunakan saat pelatihan setiap pohon. Semakin tinggi nilai subsample akan
mempengaruhi lama proses training. Yang terakhir adalah max_depth untuk
mengindikasikan kedalaman tree yang dibuat. lebih dalam suatu tree maka lebih
bercabang dan menangkap informasi yang artinya semakin dalam maka
memungkinkan model untuk mempalajari relasi atau hubungan yang lebih spisifik pada
sampel. Semua Hyperparameter didefinisikan kedalam dictionaries bernama
parameters yang tertera pada gambar 11 dibawah ini.

40
Gambar 11. Tampilan Hyperparameter yang ditentukan

4.10. Mendefinisikan Model Gradient Boosting dengan Hyperparameter


Setelah mendefinisikan variabel parameters langkah selanjutnya Pertama-tama
dilakukan pendefinisian model gradient boosting dasar. Kemudian dilakukan
pendefinisan Model Gradient Boosting dengan Hyperparamater sebagai langkah yang
diusulkan. Kode tertera pada gambar 12.

Gambar 12. Tampilan kode menginisiasi model gradient boosting dengan menggunakan optimalisasi
hyperparameter

4.11. Melatih Model


Setelah mendefinisikan model langkah salanjutnya adalah melatih
menggunakan data latih. Kode yang digunakan untuk menjalankan proses pelatihan
model tampak seperti gambar 13.

Gambar 13. Tampilan kode menjalan proses pembelajaran

41
4.12. Mendapatkan Parameter terbaik
Langkah selanjutnya adalah menampilkan parameter terbaik yang dihasilkan
setelah dilakukan proses melatih model yang telah dilakukan pada tahap sebelumnya.
Hasil parameter dari optimalisasi hyperaparamter dalam kode diatas tertera pada
gambar 14

Gambar 14. Tampilan hyperparameter terbaik beserta hasil score pembelajaran dari dataset latih

Gambar 14 merupakan hasil optimalisasi hyperparameter tertera bahwa max_depth


terbaik bernilai 16, n_estimators bernilai 150, subsample bernilai 0.9, learning_rate
tidak tercantum yang berarti bernilai default yaitu 0.1. Hasil nilai terbaik optimalisasi
hyperparameter terhadap data latih sebesar 0.96.

42
4.13. Evaluasi Model
Dalam penelitian ini, metrik evaluasi umum digunakan untuk mengukur
performa model yang telah dihasilkan, Metrik evaluasi yang digunakan antara lain:
metrik akurasi, presisi, recall, dan spesifitas. Metrik eveluasi dapat dihitung
menggunakan pada persamaan 2 dan 3 berdasarkan nilai yang diekstrak dari confusion
matrix pada gambar 15.

Gambar 15. Tampilan Confusion Matrix prediksi pada data tes

Nilai evaluasi confusion matrix merupakan hasil perbandingan pada prediksi label data
uji terhadap label sebenar. Pada gambar diatas merupakan hasil confusion matrix dari
Model Gradient Boosting dengan optimalisasi hyperparemeter. Pada gambar terlihat
bahwa pada kelas 1 terdapat 776 data yang diprediksi benar dan 3 data kelas 1 yang
dipredisi salah, untuk kelas 0 yang terprediksi benar berjumlah 7742 dan terdapat 267
data kelas 0 terprediksi salah oleh model.

43
Berikut perhitungan nilai metrik berdasarkan hasil confusion matrix diatas
776 + 7742
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = = 0.941944045
1034 + 8009

Akurasi merupakan nilai seluruh kelas yang terperediksi benar dengan nilai
keseluruhan data didapatkan nilai kelas 1 dengan nilai prediksi benar atau true positive
sebanyak 776 dan kelas 0 yang terprediksi benar atau true negative sebanyak 7742
kemudian dibagi dengan nilai keseluruhan data. Didapatkan nilai presentasi sebesar
94.41 % nasabah yang benar diprediksi mengambil deposito dan tidak mengambil dari
seluruh nasabah

7742
𝑃𝑟𝑒𝑠𝑖𝑠𝑖𝑘𝑒𝑙𝑎𝑠0 = = 0.96775
7742 + 258
776
𝑃𝑟𝑒𝑠𝑖𝑠𝑖𝑘𝑒𝑙𝑎𝑠1 = = 0.744008
776 + 267
0.96775 + 0.74008
𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 𝑝𝑟𝑒𝑠𝑖𝑠𝑖 = = 0.855879
2

Presisi merupakan rasio prediksi true positive kelas 1 maupun true negative
kelas 0 dibandingkan dengan keseluruhan hasil yang diprediksi positive maupun
negative. Didapatkan hasil presisi masing-masing kelas 0 dengan nilai presentase
96.77% dan kelas 1 75.44%, Kemudian di rata-ratakan didapatkan nilai 85,58%.

7742
𝑅𝑒𝑐𝑎𝑙𝑙𝐾𝑒𝑙𝑎𝑠0 = 7742+267 = 0.966663

776
𝑅𝑒𝑐𝑎𝑙𝑙𝐾𝑒𝑙𝑎𝑠1 = 776+258 = 0.750484

0.966663 + 0.750484
𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎𝑟𝑒𝑐𝑎𝑙𝑙 = = 0.858573032
2

Recall merupakan rasio prediksi true positive kelas 1 maupun true negative
kelas 0 dibandingkan dengan keseluruhan nilai Sebenarnya pada masing-masing kelas.
Didapatkan hasil presisi masing-masing pada kelas 0 dengan nilai presentase 96.77%
dan kelas 1 75.44%, Kemudian di rata-ratakan didapatkan nilai 85,58%.

44
0.855878835 × 0.858573032
𝐹1 − 𝑆𝑐𝑜𝑟𝑒 = 2 × = 0.857225933
0.855878835 + 0.858573032

F1-Score merupakan perbandingan rata-rata nilai presisi dan recall yang


dibobotkan. Didapatkan hasil F1-score yang baik sebesar 85.7%.

Tabel 5. Tabel perbandingan hasil model yang diusulkan dengan hasil penelitian sebelumnya

No Model Akurasi Presisi Recall F1-Score


1. Neural Network [9] 80% 64.975% 69.935% 67.36%
2. Recursive General 82.09 78.52% 83.44% 80.9%
Regression Neural
Network [10]
3. Metode yang diusulkan 94% 85.5% 85.8% 85.7%

Pada perhitungan diatas, dilihat hasil evaluasi accuracy pada model gradient
boosting dengan optimalisasi hyperparameter sangat baik dengan nilai presentase
94%, Nilai presentase presisi untuk kelas 0 sebesar 96.7% dan kelas 1 sebesar 75.04%
untuk kelas 1, Nilai presentase recall untuk kelas 0 sebesar 96.6% dan kelas 1 sebesar
74.4% dan nilai F1-score berarti perbandingan nilai rata-ata dari presisi dan recall yang
telah dibobotkan pada nilai F1-score pada model ini telah menghasilkan nilai sebesar
85.7%.

45

Anda mungkin juga menyukai