Anda di halaman 1dari 57

SKRIPSI

PREDIKSI TINGKAT PEMULIHAN ASURANSI GRUP


CACAT JANGKA PANJANG MENGGUNAKAN
ALGORITMA GRADIENT BOOSTING MACHINE

Agnes G. Mercyana

NPM: 2016710053

PROGRAM STUDI MATEMATIKA


FAKULTAS TEKNOLOGI INFORMASI DAN SAINS
UNIVERSITAS KATOLIK PARAHYANGAN
2020
FINAL PROJECT

PREDICTING GROUP LONG TERM DISABILITY


RECOVERY RATE USING GRADIENT BOOSTING
MACHINE

Agnes G. Mercyana

NPM: 2016710053

DEPARTMENT OF MATHEMATICS
FACULTY OF INFORMATION TECHNOLOGY AND SCIENCES
PARAHYANGAN CATHOLIC UNIVERSITY
2020
LEMBAR PENGESAHAN

PREDIKSI TINGKAT PEMULIHAN ASURANSI GRUP CACAT


JANGKA PANJANG MENGGUNAKAN ALGORITMA
GRADIENT BOOSTING MACHINE

Agnes G. Mercyana

NPM: 2016710053

Bandung, 13 Mei 2020

Menyetujui,
Pembimbing Utama Pembimbing Pendamping

Dr. Julius Dharma Lesmono Felivia Kusnadi, MActSc

Ketua Tim Penguji Anggota Tim Penguji

Mengetahui,

Ketua Program Studi

Dr. Erwinna Chendra


PERNYATAAN

Dengan ini saya yang bertandatangan di bawah ini menyatakan bahwa skripsi dengan judul:

PREDIKSI TINGKAT PEMULIHAN ASURANSI GRUP CACAT JANGKA


PANJANG MENGGUNAKAN ALGORITMA GRADIENT BOOSTING
MACHINE

adalah benar-benar karya saya sendiri, dan saya tidak melakukan penjiplakan atau pengutipan
dengan cara-cara yang tidak sesuai dengan etika keilmuan yang berlaku dalam masyarakat keilmuan.

Atas pernyataan ini, saya siap menanggung segala risiko dan sanksi yang dijatuhkan kepada saya,
apabila di kemudian hari ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya,
atau jika ada tuntutan formal atau non-formal dari pihak lain berkaitan dengan keaslian karya saya
ini.

Dinyatakan di Bandung,
Tanggal 13 Mei 2020

Meterai
Rp. 6000

Agnes G. Mercyana
NPM: 2016710053
ABSTRAK

Suatu perusahaan asuransi perlu mengetahui bagaimana tingkat pemulihan cacat setiap kli-
ennya maka dari itu perlu dibuat suatu model yang dapat memprediksi tingkat pemulihan
cacat. Iterative Dichotomiser (ID3) adalah metode pembelajaran mesin untuk membangun
model prediksi dari data. Model diperoleh dengan membuat partisi terhadap ruang prediktor
(ruang yang dibentuk oleh variabel independen) menjadi sejumlah bagian sederhana. Partisi
tersebut dapat direpresentasikan secara grafis sebagai pohon keputusan (decision tree). Guna
menghasilkan nilai prediksi yang lebih akurat dari metode ID3, dikembangkan metode ensemble
yang membangun beberapa model prediktif kemudian mengintegrasikan model-model tersebut
agar diperoleh model dengan performa prediksi yang lebih baik. Salah satu metode ensemble
yang populer adalah boosting. Boosting meliputi banyak algoritma dua di antaranya adalah
Gradient Boosting Machine (GBM) dan AdaBoost. Pada skripsi ini akan dibahas mengenai
prediksi tingkat pemulihan cacat jangka panjang dengan menggunakan metode GBM. GBM
mampu meningkatkan performa prediksi yang dihasilkan dari Decision Tree (DT) baik untuk
kasus regresi atau klasifikasi. Akan digunakan Mean Square Error (MSE) untuk memvalidasi
model prediksi yang diperoleh menggunakan GBM. Kemudian akan dibandingkan nilai MSE dari
model GBM dan DT. Setelah dilakukan simulasi ternyata nilai MSE dari model GBM lebih kecil
dibanding MSE dari mode DT. Maka dapat disimpulkan bahwa GBM mampu meningkatkan
performa model dalam memprediksi suatu data. GBM juga dapat disesuaikan untuk kebutuhan
aplikasi tertentu dengan menyesuaikan loss-function yang digunakan.

Kata-kata kunci: Tingkat pemulihan, Iterative Dichotomiser (ID3), Decision Tree, metode
ensemble, boosting, Gradient Boosting Machine (GBM), Adaboost, Mean Square Error (MSE),
loss-function.
ABSTRACT

An insurance company needs to know how the recovery rate of each client’s disability therefore it
is necessary to make a model that can predict recovery rate of disability. Iterative Dichotomiser
(ID3) is a machine learning method to building predictive models from data. The model is
obtained by partitioning the predictor space (the space formed by independent variables) into a
number of simple region. The partition can be represented graphically as a decision tree. This
final project will discuss the prediction of long-term disability recovery rates using the GBM
method. GBM can improve the performance of predictions from Decision Tree (DT) for either
regression or classification problem. Mean Square Error (MSE) will be used to validate the
prediction model obtained using GBM. Then the MSE values of the GBM and DT models will
be compared. Based on the simulation results it turns out that the MSE value of the GBM
model is smaller than the MSE of the DT model. It can be concluded that GBM can improve
the performance of the model in predicting data. GBM also can be used for specific application
needs by adjusting the loss-function.

Keywords: Tuliskan di sini kata-kata kunci yang anda gunakan, dalam bahasa Inggris
kepada siapa anda mempersembahkan skripsi ini. . . ?
KATA PENGANTAR

Tuliskan kata pengantar dari anda di sini . . .

Bandung, Mei 2020

Penulis

xv
DAFTAR ISI

Kata Pengantar xv

Daftar Isi xvii

Daftar Gambar xix

Daftar Tabel xxi

1 Pendahuluan 1
1.1 Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Rumusan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Batasan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Sistematika Pembahasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Landasan Teori 5
2.1 Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Regression Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Classification Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Tree Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.4 Ilustrasi Regression Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.5 Squared-error Loss-function . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Gradient Boosting Machine (GBM) 15


3.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Steepest Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Gradient Boosting Machine (GBM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Algoritma GBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5.1 Ilustrasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5.2 Hyper-parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5.3 Hubungan Gradient Descent dan GBM . . . . . . . . . . . . . . . . . . . . 21

4 Simulasi 23
4.1 Sumber Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Identifikasi Variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Implementasi Gradient Boosting di R . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1 Model GBM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.2 Model GBM 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.3 Tuning Hyperparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3.4 Final GBM Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5 Simpulan dan Saran 33


5.1 Simpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

xvii
5.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Daftar Referensi 35

xviii
DAFTAR GAMBAR

2.1 Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


2.2 Percabangan awal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Pohon keputusan awal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Pohon keputusan akhir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1 Best Iteration Model 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26


4.2 Relative Influence Model 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Best Iteration Model 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 Relative Influence Model 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Relative Influence Final Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6 Pohon Keputusan Akhir dari Final Model . . . . . . . . . . . . . . . . . . . . . . . 31

xix
DAFTAR TABEL

2.1 Banyaknya orang yang bermain golf . . . . . . . . . . . . . . . . . . . . . . . . . . 7


2.2 Atribut cuaca bernilai cerah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Atribut cuaca bernilai mendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Atribut cuaca bernilai hujan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Standar deviasi atribut cuaca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6 Standar deviasi atribut temperatur . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 Standar deviasi atribut kelembaban . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 Standar deviasi atribut kondisi angin . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.9 Penurunan standar deviasi seluruh atribut . . . . . . . . . . . . . . . . . . . . . . . 10
2.10 Atribut cuaca dengan nilai cerah . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.11 Subset cuaca cerah dan temperatur panas . . . . . . . . . . . . . . . . . . . . . . . 11
2.12 Subset cuaca cerah dan temperatur sejuk . . . . . . . . . . . . . . . . . . . . . . . 11
2.13 Subset cuaca cerah dan temperatur dingin . . . . . . . . . . . . . . . . . . . . . . . 11
2.14 Standar deviasi dari atribut temperatur ketika cuaca cerah . . . . . . . . . . . . . 11
2.15 Subset cuaca cerah dan kelembaban tinggi . . . . . . . . . . . . . . . . . . . . . . . 11
2.16 Subset cuaca cerah dan kelembaban normal . . . . . . . . . . . . . . . . . . . . . . 12
2.17 Standar deviasi dari atribut kelembaban ketika cuaca cerah . . . . . . . . . . . . . 12
2.18 Subset cuaca cerah dan kondisi angin sedang . . . . . . . . . . . . . . . . . . . . . 12
2.19 Subset cuaca cerah dan kondisi angin kencang . . . . . . . . . . . . . . . . . . . . . 12
2.20 Standar deviasi dari atribut kondisi ketika cuaca cerah . . . . . . . . . . . . . . . . 12

3.1 training dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


3.2 training dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 Dataset Group Long Term Disability Recovery Rate . . . . . . . . . . . . . . . . . . 24


4.2 Nilai Relative Influence Model 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Nilai Relative Influence Model 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 Kombinasi Nilai hyper-parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5 Nilai Relative Influence Final Model . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 Informasi Pohon Keputusan Akhir . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7 Hasil prediksi recovery rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8 Perbandingan nilai prediksi GBM dan DT . . . . . . . . . . . . . . . . . . . . . . . 32

xxi
BAB 1
PENDAHULUAN

1.1 Latar Belakang


Pada dasarnya manusia tidak dapat memprediksi kapan suatu musibah akan terjadi. Musibah
tersebut bisa menimbulkan risiko yang dapat mengancam jiwa atau harta benda. Salah satu cara
untuk mengatasi risiko tersebut adalah dengan mengikuti program asuransi. Asuransi terbagi
menjadi dua jenis berdasarkan banyaknya jumlah tertanggung yaitu asuransi individu dan asuransi
kelompok. Asuransi individu adalah polis asuransi yang hanya melindungi satu orang, sedangkan
asuransi kelompok adalah polis asuransi yang melindungi sekelompok orang seperti anggota atau
karyawan dari suatu perusahaan. Perusahaan yang baik biasanya sudah memiliki sistem proteksi
untuk melindungi karyawannya dari risiko kerugian akibat kehilangan pendapatan karena tidak
mampu bekerja akibat suatu musibah seperti sakit, cedera, atau kecelakaan. Sistem proteksi yang
dimaksud ialah asuransi kelompok cacat. Asuransi kelompok cacat terbagi menjadi dua jenis
berdasarkan jangka waktu pemberian manfaat yaitu asuransi kelompok cacat jangka pendek dan
asuransi kelompok jangka panjang. Asuransi kelompok cacat jangka pendek membayarkan manfaat
untuk periode waktu yang singkat biasanya tiga bulan, enam bulan, atau satu tahun, setelah 1-14
hari periode eliminasi, sedangkan pada asuransi kelompok cacat jangka panjang manfaat dibayarkan
untuk jangka waktu yang lebih lama, yakni dua tahun, lima tahun, 10 tahun, hingga usia 65 tahun,
atau seumur hidup, tergantung pada kebijakan. Manfaat ini dibayarkan setelah 10-53 minggu
periode eliminasi.[1] Semakin lama masa pertanggungan, semakin tinggi premi. Skripsi ini akan
berfokus pada asuransi kelompok cacat jangka panjang.
Suatu perusahaan asuransi yang menawarkan program asuransi kelompok cacat jangka panjang
perlu mengetahui bagaimana tingkat pemulihan cacat setiap kliennya untuk beberapa kepentingan.
Oleh karena itu, perlu dibuat suatu model yang dapat memprediksi tingkat pemulihan cacat.
Decision tree merupakan metode pembelajaran mesin untuk membangun model prediksi dari data
dalam bentuk struktur pohon. Terdapat banyak algoritma untuk membangun decision tree salah
satunya adalah Iterative Dichotomiser atau sering disebut juga ID3. Algoritma ID3 digunakan
untuk memodelkan kasus klasifikasi maupun kasus regresi. Model diperoleh dengan membagi ruang
prediktor (ruang yang dibentuk oleh variabel independen) menjadi sejumlah bagian sederhana.
Akibatnya, partisi dapat direpresentasikan secara grafis sebagai pohon keputusan.
Dalam pembuatan model pada skripsi ini, data yang digunakan diambil dari 25 perusahaan di
Amerika Utara yang ikut serta dalam program asuransi kelompok cacat jangka panjang. Di Amerika
Utara, penelitian tentang Group Long Term Disability (GLTD) telah dikembangkan terus menerus
selama bertahun-tahun. Berdasarkan [2] The Society of Actuaries (SOA) Committee menerbitkan
model matematika untuk menentukan tingkat pemulihan dan kematian. Data GLTD yang digunaka
dikumpulkan dari tahun 1997 sampai 2006.
Berdasarkan [3], Aktuaris dari SOA menggunakan basis data LTD tahun 2004 - 2012 untuk
membangun model pohon untuk mengestimasi tingkat pemulihan dan kematian GLTD. Basis data
terbaru yang dirilis mencakup beberapa variabel baru yang sebelumnya tidak ada pada model 2008.
Kemudian dibuat beberapa model yang mencakup variabel baru untuk menentukan apakah variabel
baru tersebut akan meningkatkan kemampuan prediksi model. Guna meningkatkan prediksi dari

1
2 Bab 1. Pendahuluan

metode Iterative Dichotomiser, dikembangkan metode ensemble yang membangun sebuah model
prediktif dengan mengintegrasikan beberapa model, yang dapat digunakan untuk memperbaiki
performa prediksi. Salah satu metode ensemble yang populer adalah boosting. Boosting meliputi
banyak algoritma dua di antaranya adalah Gradient Boosting Machine (GBM) dan AdaBoost.
Pada skripsi ini akan dibahas mengenai prediksi tingkat pemulihan cacat jangka panjang dengan
menggunakan metode GBM. GBM merupakan salah satu metode ensemble untuk meningkatkan
prediksi yang dihasilkan dari Decision Tree untuk kasus regresi atau klasifikasi. Boosting melibatkan
pembuatan banyak pohon yang berurutan berdasarkan pohon sebelumnya. Ide dari boosting adalah
menyesuaikan setiap pohon tunggal yang baru dengan residu dari pohon sebelumnya. Pohon tunggal
yang baru dengan residual yang semakin menyusut ditambahkan dengan pohon sebelumnya.

1.2 Rumusan Masalah


Masalah yang dibahas pada skripsi ini adalah bagaimana cara membangun model untuk memprediksi
tingkat pemulihan menggunakan Gradient Boosting Machine Algorithm.

1.3 Tujuan
Berdasarkan rumusan masalah yang telah dijelaskan, tujuan dari penulisan skripsi ini adalah
membuat model untuk memprediksi tingkat pemulihan dengan menggunakan Gradient Boosting
Machine Algorithm.

1.4 Batasan Masalah


Batasan masalah pada skripsi ini adalah :

1. Jenis asuransi kelompok (group) yang dibahas adalah asuransi kelompok cacat jangka panjang
saja.

2. Diasumsikan pekerja yang cacat akan sembuh kembali, tidak meninggal.

3. Pada atribut disability category nilai yang berlabel maternity ditiadakan.

4. Metode yang dipakai adalah Gradient Boosting Machine.

5. Base-learner yang dipakai adalah Decision Tree.

6. Loss-function yang dipakai adalah Gaussian Loss-Function.

7. Data yang digunakan untuk simulasi hanya data untuk kasus regresi.

1.5 Sistematika Pembahasan


Sistematika pembahasan pada skripsi ini terdiri dari lima bab, yaitu :

Bab 1: Pendahuluan
Bab ini terdiri dari latar belakang, rumusan masalah, tujuan, batasan masalah dan sistematika
pembahasan.

Bab 2: Landasan Teori


Bab ini membahas teori-teori yang mendukung dalam penulisan makalah ini, yaitu regression tree,
classification tree dan tree pruning.
1.5. Sistematika Pembahasan 3

Bab 3: Gradient Boosting Machine


Bab ini membahas seputar algoritma yang akan digunakan dalam membuat model yaitu Gradient
Boosting Machine.

Bab 4: Simulasi Data


Bab ini membahas simulasi data yang didapat dari Society of Actuaries (SOA) dan mengevaluasi
seberapa baik model prediksi yang diperoleh.

Bab 5: Kesimpulan dan Saran


Bab ini berisi kesimpulan dari skripsi dan saran untuk pengembangan lebih lanjut.
BAB 2
LANDASAN TEORI

2.1 Decision Tree


Model decision tree (pohon keputusan) diperoleh dengan membagi ruang prediktor (ruang yang
dibentuk oleh variabel independen) menjadi sejumlah wilayah sederhana. Akibatnya, partisi dapat
direpresentasikan secara grafis sebagai pohon keputusan.
Decision tree dibentuk dari 3 tipe simpul yaitu simpul akar, simpul internal dan simpul terminal.
Simpul akar tidak memiliki panah yang masuk tetapi memiliki satu atau lebih panah yang keluar.
Simpul internal memiliki tepat satu panah yang masuk dan memiliki lebih dari satu panah yang
keluar. Simpul internal menyatakan pengujian terhadap suatu atribut dan setiap cabang menyatakan
output dari pengujian. Simpul terminal memiliki tepat satu panah yang masuk tetapi tidak memiliki
panah yang keluar. Simpul terminal menyatakan kelas-kelas atau hasil keputusan.
Terdapat banyak algoritma untuk membangun decision tree salah satunya adalah algoritma
ID3. Algoritma ini mampu memodelkan kasus regresi maupun klasifikasi. Pada kasus regresi
dimana variabel dependennya berjenis kuantitatif, ID3 menggunakan standard deviation reduction
untuk membentuk keputusan, sedangkan pada kasus klasifikasi dimana variabel depedennya berjenis
kualitatif, ID3 menggunakan entropy untuk membentuk keputusan.[4]

akar

internal terminal

terminal terminal

Gambar 2.1: Decision Tree

5
6 Bab 2. Landasan Teori

2.1.1 Regression Tree


Pohon keputusan dibangun dengan membuat partisi terhadap data menjadi himpunan bagian yang
berisi nilai-nilai yang sama (homogen) dari atribut. Kita akan menggunakan standar deviasi untuk
menghitung homogenitas sampel numerik dan pengurangan standar deviasi untuk mengevaluasi
pemilihan atribut terbaik untuk menjadi titik percabangan dari struktur pohon. Standar deviasi
atau sering disebut juga simpangan baku merupakan nilai yang menunjukkan tingkat variasi
kelompok data populasi dari nilai rata-ratanya. Semakin kecil nilai sebaran artinya data tidak
terlalu bervariasi. Jika sebarannya bernilai 0, maka nilai semua datanya adalah sama. Semakin
besar nilai sebarannya berarti data semakin bervariasi. Standar deviasi didefinisikan sebagai berikut:
sP
n
i=1 (xi − x̄)2
S(T ) = (2.1)
n
Setelah itu kita perlu menghitung jumlah dari bobot tiap-tiap atribut dengan menggunakan:
X
S(T, X) = P (c)S(c) (2.2)
c∈X

dimana, c merupakan nilai dari variabel X, P (c) merupakan peluang dari nilai atribut dan S(c)
merupakan standar deviasi dari nilai atribut.
Pengurangan standar deviasi didasarkan pada penurunan nilai standar deviasi setelah dataset
dibagi berdasarkan atribut tertentu. Membangun pohon keputusan diawali dengan menemukan
atribut yang menghasilkan nilai pengurangan standar deviasi tertinggi atau dengan kata lain
menemukan cabang yang paling homogen. Pengurangan standar deviasi didefinisikan sebagai
berikut:
SDR(T, X) = S(T ) − S(T, X) (2.3)

2.1.2 Classification Tree


Pohon klasifikasi digunakan untuk memprediksi data dengan variabel dependen yang berjenis
kualitatif. Pohon klasifikasi menggunakan modus (nilai yang paling sering muncul) dari data yang
berada pada suatu wilayah untuk memprediksi hasil dari observasi yang berada pada wilayah
tersebut. Proses pembentukan pohon klasifikasi menggunakan metode entropy untuk mempartisi
dataset yang dimiliki. Entropy adalah suatu parameter untuk mengukur tingkat keberagaman
(heterogenitas) dari kumpulan data. Entropy didefinisikan sebagai berikut:
c
X
entropy(S) = (−pi )(log2 pi ) (2.4)
i

dimana :
c = jumlah nilai yang ada pada atribut target
pi = jumlah proporsi sampel untuk kelas i

2.1.3 Tree Pruning


Pemangkasan pohon (tree pruning) adalah suatu proses untuk mengidentifikasikan dan membuang
cabang yang tidak diperlukan pada pohon yang telah terbentuk. Hal ini dikarenakan pohon
keputusan yang dikontruksi dapat berukuran besar, maka dapat disederhanakan dengan melakukan
pemangkasan. Prinsip pruning terbagi menjadi dua: Pre-pruning dan post pruning.[5]
Pre-pruning menghentikan pembangunan suatu subtree lebih awal dengan memutuskan untuk
tidak lebih jauh mempartisi data training. Saat pembangunan subtree berhenti, maka node berubah
menjadi terminal node. Node akhir ini merupakan nilai prediksi yang diperoleh dengan menghitung
rata-rata dari data yang ada pada subtree. Metode pre-pruning menggunakan coefficient variation
2.1. Decision Tree 7

untuk membandingkan dua variabel yang mempunyai nilai yang berbeda. Coefficient variation
didefinisikan sebagai berikut:[4]

standard deviation
Coefficient of Variation = (2.5)
mean
Berbeda dengan pre-pruning, post pruning menyederhanakan pohon dengan cara menghapus
beberapa cabang setelah pohon selesai dibangun. Cabang yang dihapus digantikan dengan leaf yang
merupakan rata-rata dari data pada cabang yang dihapus. Hal ini akan menghasilkan beberapa
subtree. Terdapat banyak teknik untuk melakukan pruning pada decision tree salah satunya adalah
cost-complexity pruning. Pada tahap pertama cost-complexity pruning, urutan pohon T0 , T1 , ..., Tk
dibangun berdasarkan training data dimana T0 adalah pohon asli sebelum pemangkasan dan Tk
adalah pohon yang terdiri satu leaf yaitu akar dari pohon. Kemudian akan dihitung sum of squared
residuals dari setiap pohon yang telah dibentuk. Pada tahap kedua, salah satu pohon ini dipilih
sebagai pohon yang dipangkas, berdasarkan tree score yang didefinisikan sebagai berikut: [6]
|T |
X X
(yi − ŷRm ) + α |T | (2.6)
m=1 i:xi ∈Rm

|T | merupakan banyaknya terminal node pada tiap-tiap subtree. Rm merupakan terminal node, ŷRm
merupakan rata-rata data yang ada pada terminal node dan α merupakan tuning parameter yang
diasumsikan sebesar α=10000. Subtree dengan nilai tree score terendah akan dipilih sebagai pohon
keputusan akhir.

2.1.4 Ilustrasi Regression Tree


Dataset berikut menunjukkan banyaknya orang yang bermain golf berdasarkan beberapa faktor
seperti cuaca, temperatur, kelembaban, dan kondisi angin.

Tabel 2.1: Banyaknya orang yang bermain golf

cuaca temperatur kelembaban kondisi angin pemain golf


cerah panas tinggi sedang 25
cerah panas tinggi kencang 30
mendung panas tinggi sedang 46
hujan sejuk tinggi sedang 45
hujan dingin normal sedang 52
hujan dingin normal kencang 23
mendung dingin normal kencang 43
cerah sejuk tinggi sedang 35
cerah dingin normal sedang 38
hujan sejuk normal sedang 46
cerah sejuk normal kencang 48
mendung sejuk tinggi kencang 52
mendung panas normal sedang 44
hujan sejuk tinggi kencang 30
8 Bab 2. Landasan Teori

Rata-rata dari banyaknya pemain golf adalah:

(25 + 30 + 46 + 45 + 52 + 23 + 43 + 35 + 38 + 46 + 48 + 52 + 44 + 30)
x̄ = = 39.78
14
Maka standar deviasi dari pemain golf adalah:
p
(25 − 39.78)2 + (30 − 39.78)2 + (46 − 39.78)2 + . . . + (30 − 39.78)2
S(T ) = = 9.32
14
• Atribut cuaca
Atribut cuaca memiliki tiga nilai yaitu cerah, mendung, dan hujan. Kita perlu menghitung
standar deviasi dari pemain golf untuk tiap-tiap nilai dari atribut cuaca.

1. Cerah
Tabel 2.2: Atribut cuaca bernilai cerah

cuaca pemain golf


cerah 25
cerah 30
cerah 35
cerah 38
cerah 48
rata-rata 32,2
standar deviasi 7,78

2. Mendung

Tabel 2.3: Atribut cuaca bernilai mendung

cuaca pemain golf


mendung 46
mendung 43
mendung 52
mendung 44
rata-rata 46,25
standar deviasi 3,49

3. Hujan

Tabel 2.4: Atribut cuaca bernilai hujan

cuaca pemain golf


hujan 45
hujan 52
hujan 23
hujan 46
hujan 30
rata-rata 39,2
standar devias 10,87
2.1. Decision Tree 9

Tabel 2.5: Standar deviasi atribut cuaca

cuaca standar deviasi jumlah


Cerah 7,78 5
Mendung 3,49 4
Hujan 10,87 5

5 4 5
     
S(T, cuaca) = × 7.78 + × 3.49 + × 10.87 = 7.66
14 14 14
SDR(T, cuaca) = 9.32 − 7.66 = 1.66

• Atribut temperatur
Atribut temperatur memiliki tiga nilai yaitu panas, sejuk, dingin. Kita perlu menghitung
standar deviasi dari pemain golf untuk tiap-tiap nilai dari atribut temperatur. Setelah
dilakukan perhitungan didapat hasil sebagai berikut:

Tabel 2.6: Standar deviasi atribut temperatur

temperatur standar deviasi jumlah


Panas 8.95 4
Dingin 10.51 4
Sejuk 7.76 6

4 4 6
     
S(T, temperatur) = × 8.95 + × 10.51 + × 7.76 = 8.84
14 14 14
SDR(T, temperatur) = 9.32 − 8.84 = 0.47

• Atribut kelembaban
Atribut temperatur memiliki dua nilai yaitu tinggi dan normal. Kita perlu menghitung standar
deviasi dari pemain golf untuk tiap-tiap nilai dari atribut kelembaban. Setelah dilakukan
perhitungan didapat hasil sebagai berikut:

Tabel 2.7: Standar deviasi atribut kelembaban

kelembaban standar deviasi jumlah


tinggi 9.36 7
normal 8.73 7

7 7
   
S(T, kelembaban) = × 9.36 + × 8.73 = 9.04
14 14

SDR(T, temperatur) = 9.32 − 9.04 = 0.27

• Atribut kondisi angin


Atribut kondisi angin memiliki dua nilai yaitu kencang dan sedang. Kita perlu menghitung
standar deviasi dari pemain golf untuk tiap-tiap nilai dari atribut kondisi angin. Setelah
dilakukan perhitungan didapat hasil sebagai berikut:
10 Bab 2. Landasan Teori

Tabel 2.8: Standar deviasi atribut kondisi angin

kondisi angin standar deviasi jumlah


kencang 10.59 6
sedang 7.87 8

6 8
   
S(T, kondisi angin) = × 10.59 + × 7.87 = 9.03
14 14
SDR(T, kondisi angin) = 9.32 − 9.03 = 0.28

Penurunan standar deviasi seluruh atribut adalah sebagai berikut:

Tabel 2.9: Penurunan standar deviasi seluruh atribut

atribut penurunan standar deviasi


cuaca 1.66
temperatur 0.47
kelembaban 0.27
kondisi angin 0.28

Dari tabel di atas nilai penurunan standar deviasi yang paling besar diperoleh dari atribut cuaca
maka dari itu atribut cuaca akan dipilih sebagai root node sehingga diperoleh pohon keputusan
sebagai berikut:

cuaca

cerah mendung hujan

Gambar 2.2: Percabangan awal

Kemudian dilakukan hal yang sama secara berulang yaitu menghitung standar deviasi dari tiap-tiap
subset data yang baru untuk menentukan kandidat cabang baru dari atribut cuaca.

• Atribut cuaca bernilai cerah


Tabel 2.10: Atribut cuaca dengan nilai cerah

cuaca temperatur kelembaban kondisi angin pemain golf


cerah panas tinggi sedang 25
cerah panas tinggi kencang 30
cerah sejuk tinggi sedang 35
cerah dingin normal sedang 38
cerah sejuk normal kencang 48
2.1. Decision Tree 11

p
(25 − 35.2)2 + ... + (38 − 35.2)2 + (48 − 35.2)2
S(T ) = = 7.78
5

Dataset di atas merupakan dataset yang telah dipecah berdasarkan atribut cuaca dengan
nilai cerah. Selanjutnya data subset ini akan dipecah lagi berdasarkan nilai-nilai atribut yang
lainnya sehingga diperoleh tabel sebagai berikut:

Tabel 2.11: Subset cuaca cerah dan temperatur panas

cuaca temperatur pemain golf


cerah panas 25
cerah panas 30
standar deviasi 2,5

Tabel 2.12: Subset cuaca cerah dan temperatur sejuk

cuaca temperatur pemain golf


cerah sejuk 35
cerah sejuk 48
standar deviasi 6,5

Tabel 2.13: Subset cuaca cerah dan temperatur dingin

cuaca temperatur pemain golf


cerah dingin 38
standar deviasi 0

Tabel 2.14: Standar deviasi dari atribut temperatur ketika cuaca cerah

temperatur standar deviasi jumlah


panas 2.5 2
sejuk 6.5 2
dingin 0 1

2 2 1
     
S(T, cuaca cerah dan temperatur = × 2.5 + × 6.5 + × 0 = 3.6
5 5 5

SDR(T, cerah dan temperatur)) = 7.78 − 3.6 = 4.18

Tabel 2.15: Subset cuaca cerah dan kelembaban tinggi

cuaca kelembaban pemain golf


cerah tinggi 25
cerah tinggi 30
cerah tinggi 35
standar deviasi 4,08
12 Bab 2. Landasan Teori

Tabel 2.16: Subset cuaca cerah dan kelembaban normal

cuaca kelembaban pemain golf


cerah normal 38
cerah normal 48
standar deviasi 5

Tabel 2.17: Standar deviasi dari atribut kelembaban ketika cuaca cerah

kelembaban standar deviasi jumlah


tinggi 4.08 3
normal 5 2

3 2
   
S(T, cuaca cerah dan kelembaban) = × 4.08 + × 5 = 4.45
5 5
SDR(T, cuaca cerah dan kelembaban) = 7.78 − 4.45 = 3.33

Tabel 2.18: Subset cuaca cerah dan kondisi angin sedang

cuaca kondisi angin pemain golf


cerah sedang 25
cerah sedang 35
cerah sedang 38
standar deviasi 5,56

Tabel 2.19: Subset cuaca cerah dan kondisi angin kencang

cuaca kondisi angin pemain golf


cerah kencang 30
cerah kencang 48
standar deviasi 9

Tabel 2.20: Standar deviasi dari atribut kondisi ketika cuaca cerah

kondisi angin standar deviasi jumlah


sedang 5.56 2
kencang 9 3

2 3
   
S(T, cuaca cerah dan kelembaban) = × 5.56 + × 9 = 6.93
5 5
SDR(T, cuaca cerah dan kelembaban) = 7.78 − 6.93 = 0.85
Penurunan standar deviasi dari seluruh subset adalah sebagai berikut:

atribut penurunan standar deviasi


temperatur 4.18
kelembaban 3.33
kondisi angin 0.85

dari tabel di atas nilai penurunan standar deviasi yang paling besar diperoleh dari atribut
2.1. Decision Tree 13

temperatur maka dari itu atribut temperatur akan dipilih sebagai percabangan pada leaf
cerah sehingga diperoleh pohon keputusan sebagai berikut:

cuaca
cerah mendung hujan
temp

dingin panas sejuk

Gambar 2.3: Pohon keputusan awal

Selanjutnya dilakukan hal yang sama untuk atribut cuaca bernilai mendung dan hujan. Setelah
mendapatkan percabangan baru proses akan diulang hingga setiap cabang memiliki nilai yang
sama (homogen). Nilai prediksi didapat dengan menghitung rata-rata data dari tiap-tiap
cabang. Pohon keputusan akhir yang diperoleh adalah sebagai berikut:

cuaca
cerah mendung hujan
temp 46.3 kondisi angin

dingin panas sejuk sedang kencang


38 27.5 41.5 47.7 26.5

Gambar 2.4: Pohon keputusan akhir

2.1.5 Squared-error Loss-function


Diberikan kumpulan variabel bebas (input), x, dan kumpulan variabel tak bebas, y, akan dibuat
suatu model untuk memprediksi hasil dari input yang diberikan. Untuk mengetahui seberapa baik
kinerja model dibutuhkan sebuah loss-function, L(y, F (x), dimana F (x) merupakan nilai prediksi
dari input x. Loss-function juga dapat dipandang sebagai suatu fungsi dari kesalahan prediksi
model (residual).
Loss function disesuaikan berdasarkan jenis variabel tak bebas y. Jika variabel tak bebas
bertipe kontinu maka loss-function yang digunakan adalah squared-error loss-function. Sedangkan
jika variabel tak bebas bertipe diskret maka loss-function yang digunakan adalah binomial loss-
function.[7] Pada skripsi ini akan digunakan squared-error loss-function.
1
L(y, F (x)) = (y − F (x))2 (2.7)
2
Model yang baik akan menghasilkan nilai kesalahan prediksi yang kecil, artinya model yang baik
akan menghasilkan nilai loss function yang kecil.
BAB 3
GRADIENT BOOSTING MACHINE (GBM)

3.1 Pendahuluan
Tujuan dari setiap aplikasi machine-learning adalah membangun model regresi atau klasifikasi dari
data. Model tersebut dapat dipandang sebagai fungsi prediksi yang memetakan ruang variabel
input ke ruang nilai respond. Model yang telah dibangun diharapkan mampu memprediksi hasil dari
data yang baru. Pendekatan umum yang dilakukan untuk pemodelan berbasis data adalah dengan
membangun model prediksi tunggal. Pendekatan lain yaitu dengan menggunakan metode ensemble.
Ensemble adalah konsep machine-learning dimana beberapa model dibangun menggunakan
base-learner yang sama. Pada skripsi ini, base-learner yang digunakan adalah pohon keputusan.
Metode ensemble menggabungkan beberapa base-learner untuk menghasilkan kinerja prediksi yang
lebih baik dari pohon keputusan tunggal.
Salah satu metode ensemble adalah boosting. Ide utama dari boosting adalah membangun
model yang merupakan hasil penjumlahan dari base-learner secara berurutan. Pada setiap iterasi,
base-learner baru dibangun berdasarkan error keseluruhan model yang telah dihitung sebelumnya.[7]
Boosting terdiri dari beberapa algoritma, dua diantaranya adalah Adaptive Boosting (AdaBoost)
dan Gradient Boosting Machine (GBM). Pada skripsi ini algoritma boosting yang digunakan adalah
Gradient Boosting Machine (GBM). Algoritma ini dikembangkan oleh Jerome H. Friedman.
Pada GBM, prosedur pembelajaran secara berurutan membangun model-model baru untuk
memberikan prediksi variabel respon yang lebih akurat. Ide utama di balik algoritma ini adalah
untuk membangun base-learner baru yang berkorelasi secara maksimal dengan gradien negatif dari
loss-function, yang terkait dengan keseluruhan ensemble.[7]
Pada dasarnya model GBM, Fm (X), menambahkan dua komponen utama yaitu base-learner awal
atau nilai prediksi awal dengan nilai prediksi dari base-learner ke-M yang telah dikali dengan learning
rate η. Base-learner awal atau daun tunggal dapat dipandang sebagai nilai awal, f0 (X). Nilai ini
diperoleh dengan menghitung rata-rata dari variabel target, y. Nilai prediksi dari base-learner ke-M
merupakan nilai prediksi yang diperoleh dari pohon keputusan yang dibuat berdasarkan error dari
pohon keputusan sebelumnya, y − Fm−1 . Error ini biasa dikenal dengan sebutan pseudo-residual.

3.2 Boosting
Boosting merupakan dasar untuk memahami gradient boosting. Ide utama dari boosting adalah
melakukan pemodelan aditif yaitu, menggabungkan banyak model sederhana menjadi satu kesatuan
yang menghasilkan suatu model tunggal yang kuat. Model tersebut memetakan beberapa atribut
observasi, x, ke nilai target, y. [8]
Pada boosting, kita akan membangun model yang merupakan hasil dari penjumlahan base-learner.
Pada skripsi ini base-learner yang digunakan adalah pohon keputusan. Misal hm (x) adalah base-
learner dan γm adalah bobot dari setiap base-learner, aditif model didefinisikan sebagai berikut:[9]
M
X
f (x) = γm hm (x) (3.1)
m=1

15
16 Bab 3. Gradient Boosting Machine (GBM)

Boosting mengkonstruksi model aditif dengan strategi forward stagewise yang artinya menambah
base-learner secara bertahap, satu demi satu, untuk meminimalkan suatu loss fucntion. Dimulai
dengan tebakan awal F0 (x), sebagai berikut:
N
X
F0 (x) = argmin L(yi , γ) (3.2)
γ
i=1

Fm (x) = Fm−1 (x) + hm (x) m = 1, 2, .., M (3.3)


seperti yang telah dijelaskan sebelumnya bahwa setiap penambahan base-learner, hm (x), bertujuan
untuk meminimalkan suatu loss-function:
"N #
X
hm (x) = argmin L(yi , Fm−1 (xi ) + hm (x)) (3.4)
h i=1

Sehingga persamaan (3.3) dapat ditulis sebagai berikut:


"N #
X
Fm (x) = Fm−1 (x) + argmin L(yi , Fm−1 (xi ) + hm (x)) (3.5)
h i=1

Memilih base-learner, hm , yang optimal pada setiap langkah untuk sebarang loss-function adalah
masalah optimasi yang cukup sulit untuk diselesaikan. Untuk mempermudah hal tersebut maka
akan digunakan pendekatan steepest descent.

3.3 Steepest Descent


SITASI BELUM Steepest descent juga dikenal sebagai gradient descent merupakan algoritma
optimasi orde pertama untuk mencari nilai minimum lokal dari suatu fungsi menggunakan gradient.
Diberikan fungsi f : Rn → R yang memiliki turunan di x0 , arah dari steepest descent adalah vektor
−∇f (x0 ). Perhatikan fungsi berikut:

ϕ(t) = f (x0 + tu) (3.6)

dimana u adalah vektor satuan, dengan ||u|| = 1. Maka, dengan menggunakan chain rule,

∂f ∂x1 ∂f ∂xn
ϕ0 (t) = + ... +
∂x1 ∂t ∂xn ∂t
∂f ∂f (3.7)
= u1 + ... + u2
∂x1 ∂xn
= ∇f (x0 + tu) · u

oleh karena itu


ϕ0 (0) = ∇f (x0 ) · u = ||∇f (x0 )|| cos θ, (3.8)
dimana θ adalah sudut antara ∇f (x0 ) dan u. Karena itu ϕ0 (0) akan bernilai minimum ketika θ = π,
yang memberikan
∇f (x0 )
u=− , ϕ0 (0) = − ||∇f (x0 )|| . (3.9)
||∇f (x0 )||
Kita dapat mengubah permasalah optimasi fungsi dengan banyak variabel menjadi optimasi
fungsi dengan variabel tunggal, dengan mencari nilai t, untuk t > 0, yang meminimalkan

ϕ0 (t) = f (x0 − t∇f (x0 ))) (3.10)


3.4. Gradient Boosting Machine (GBM) 17

Setelah mendapatkan t0 , kita dapat menuliskan

x1 = x0 − t0 ∇f (x0 ) (3.11)

dan proses akan dilanjutkan, dengan mencari x1 dalam arah −∇f (x1 ) untuk mendapatkan x2
dengan meminimalkan ϕ1 (t) = f (x1 − t∇f (x1 ))), dan seterusnya. Berikut adalah metode dari
steepest descent: diberikan nilai tebakan awal x0 , metode ini menghitung iterasi dari {xk }, dimana

xk+1 = xk − tk ∇f (xk ), k = 0, 1, 2, ... (3.12)

dimana tk > 0 meminimalkan fungsi

ϕk (t) = f (xk − t∇f (xk )) (3.13)

3.4 Gradient Boosting Machine (GBM)


Gradient boosting adalah salah satu metode machine learning untuk kasus regressi dan klasifikasi,
yang menghasilkan model prediksi dalam bentuk aditif dari base-learner. Skripsi ini akan berfokus
pada pembahasan mengenai gradient boosting untuk kasus regresi yang menggunakan pohon
keputusan sebagai base-learner. Gradient boosting membangun model dengan cara forward stage-
wise kemudian mengoptimalkan loss-function yang bersifat differentiable.
Diberikan sebuah himpunan data training {yi , xi }N 1 yang terdiri dari variabel tak bebas (output)
yang dinotasikan dengan yi dan kumpulan variabel bebas (input) yang dinotasikan dengan x =
{x1 , x2 , ..., xn }. Tujuan kita adalah mencari fungsi F̂ (x) yang merupakan pemetaan dari x ke y,
sedemikian sehingga untuk setiap nilai (yi , x), penjumlahan dari loss function L(y, F (x)) bernilai
minimum.[10]
n
X
F̂ (x) = argmin L(yi , F (x)) (3.14)
F (x) i=1

Gradient boosting mengaproksimasi F̂ (x) dalam bentuk aditif seperti persamaan (3.1) yaitu
penjumlahan dari fungsi tertimbang hm (x), yang disebut dengan base-leaner.[9] Kemudian dengan
menggunakan forward stagewise seperti pada persamaan (3.5) akan diperoleh nilai aproksimasi
F̂ (x) yang meminimalkan loss-function. Gradient boosting menyelesaikan persamaan (3.4) dengan
menggunakan pendekatan steepest descent. Berdasarkan persamaan (3.12) kita dapat menuliskan
persamaan (3.5) menjadi:
N
X
Fm (x) = Fm−1 (x) − γm ∇Fm−1 L(yi , Fm−1 (xi )) (3.15)
i=1

N
X
γm = argmin L(yi , Fm−1 (xi ) − γ∇Fm−1 L(yi , Fm−1 (xi ))) (3.16)
γ
i=1

Pada setiap iterasi ke-m, gradient boosting membangun pohon keputusan, hm (x) berdasarkan
negative gradient yang disebut juga dengan pseudo-residuals. Misal Jm adalah jumlah daun dari
pohon keputusan yang terbentuk. Pohon tersebut mempartisi ruang input menjadi Jm wilayah
terpisah yang dinotasikan dengan R1m , ..., Rjm m kemudian setiap wilayah akan diprediksi dengan
suatu nilai konstan.[10] Hasil dari hm (x) untuk input x dapat dituliskan sebagai berikut:
Jm
X
hm (x) = bm 1Rjm (x) (3.17)
j=1

dimana bm merupakan nilai prediksi pada wilayah Rjm . Kemudian koefisien bjm dikalikan dengan
18 Bab 3. Gradient Boosting Machine (GBM)

nilai bobot, γm , Oleh karena itu persamaan (3.16) dan (3.15) dapat ditulis sebagai berikut:

Fm (x) = Fm−1 (x) + γjm hm (x) (3.18)

N
X
γm = argmin L(yi , Fm−1 (xi ) + γhm (xi )) (3.19)
γ
i=1

Friedman membuat modifikasi terhadap nilai bobot yang optimal, γjm , yaitu, pemberian bobot
tunggal yang semula dilakukan secara keseluruhan dimodifikasi sehingga pembobotan dilakukan
secara terpisah di tiap-tiap wilayah Rjm . Oleh karena itu persamaan di atas dapat ditulis sebagai
berikut:[10] X
γm = argmin L(yi , Fm−1 (xi ) + γ) (3.20)
γ xi ∈Rjm

N
X
Fm (x) = Fm−1 (x) + η γjm 1Rjm (x) (3.21)
i=1

dimana η adalah learning rate yang menentukan ukuran langkah di setiap iterasi untuk menuju
loss-function yang minimum, biasanya bernilai 0 < v ≤ 1.[11]

3.5 Algoritma GBM


Berikut adalah algoritma umum dari GBM yang diturunkan oleh Jerome. H. Friedman. Algoritma
GBM ini mengasumsikan model lemah yang digunakan adalah pohon regresi dan loss function
yang digunakan belum ditentukan secara spesifik. Pada algoritma umum dari GBM ini kita perlu
menghitung gradien dari loss function dan bobot dari tiap wilayah pohon regresi yang meminimalkan
X
L(yi , Fm−1 (xi ) + γ) untuk setiap xi .
i∈I

Algorithm 1 Gradient Boosting

Input: Data (xi , yi )ni=1 , jumlah iterasi M , learning rate η, loss-function L(yi , F (x))
Output: Fm
Langkah 1: Menginisiasi sebuah nilai konstan:
n
X
F0 (x) = argmin L(yi , γ)
γ
i=1

Langkah 2: untuk m = 1 sampai M


h i
∂L(yi ,F (xi ))
• Hitung rim = −∇F (xi ) L(yi , F (xi )) = − ∂F (xi ) untuk i = 1, 2, ..., n
F (x)=Fm−1 (x)

• Buat pohon regresi berdasarkan rim dan beri label Rjm , j = 1, ..., jm untuk setiap wilayah
terminal
X
• Untuk j = 1, ..., jm hitung γjm = argmin L(yi , Fm−1 (xi ) + γ)
γ
xi ∈Rij

Jm
X
• Memperbarui Fm (x) = Fm−1 (x) + η γm 1(x ∈ Rjm )
j=1

Langkah 3: output Fm (x)


3.5. Algoritma GBM 19

Langkah pertama pada algoritma diatas adalah mencari suatu nilai konstan yang meminimalkan
penjumlahan dari L(yi , γ).
n
X
F0 (x) = argmin L(yi , γ)
γ
i=1

Dengan memanfaatkan gradient descent dan menggunakan squared-error loss-function L(yi , γ) =


1 2
2 (yi − γ) , maka nilai γ yang meminimalkan penjumlahan dari L(yi , γ) adalah rata-rata dari nilai
observasi.
n
d X 1
−∇γ L(yi , γ) = − (yi − γ))2
dγ i=1 2
n
" #
1X
0=− 2× (yi − γ) × (−1)
2 i=1
n
X
0= (yi − γ)
i=1
Xn n
X
0= yi − γ
i=1 i=1
Xn
0= yi − nγ
i=1
Xn
nγ = yi
i=1
Pn
i=1 yi
γ=
Pnn
i=1 yi
F0 (x) =
n
Karena kita menggunakan squared-error loss-function L(yi , γ) = 12 (yi − γ)2 maka nilai ri m pada
langkah kedua bagian pertama adalah residual, yi − Fm−1 (x)

∂L(yi , Fm−1 (xi ))


 
rim = −
∂F (xi )
∂ 1
 
=− (y − Fm−1 (xi ))2
∂Fm−1 (xi ) 2 (3.22)
1
= −2 × (yi − Fm−1 (xi )) × (−1)
2
= (yi − Fm−1 (xi ))

3.5.1 Ilustrasi
Berikut ini adalah ilustrasi sederhana penerapan algoritma gradient boosting machine. Diberikan
suatu training datset untuk menebak berat badan seseorang berdasarkan informasi tinggi badan,
warna kesukaan dan jenis kelamin.

Tabel 3.1: training dataset

tinggi warna kesukaan jenis kelamin berat badan


1,6 Biru Laki-laki 88
1,6 Hijau Perempuan 76
1,5 Biru Perempuan 56
20 Bab 3. Gradient Boosting Machine (GBM)

1. Langkah 1:
Menghitung nilai tebakan awal:
n
X
F0 (x) = argmin L(yi , γ)
γ
i=1
Pn
i=1 yi
=
n
88 + 76 + 56
=
3
= 73, 3

maka nilai tebakan awal untuk semua data adalah nilai konstan yaitu 73,3. Perhatikan tabel
dibawah ini:
Tabel 3.2: training dataset

tinggi warna kesukaan jenis kelamin berat badan F0 (x)


1,6 Biru Laki-laki 88 73,3
1,6 Hijau Perempuan 76 73,3
1,5 Biru Perempuan 56 73,3

2. Langkah 2:
h i
∂L(yi ,F (xi ))
• Hitung rim = − ∂F (xi ) untuk i = 1, 2, ..., n
F (x)=Fm−1 (x)

3.5.2 Hyper-parameter
Hyper-parameter adalah variabel yang memengaruhi output model. Hyperparameter paling umum
yang ditemukan di sebagian besar implementasi GBM meliputi:

• Jumlah Pohon: Jumlah pohon atau banyaknya iterasi yang akan dilakukan. GBM biasanya
membutuhkan banyak pohon dalam pembentukan model. Namun hal ini dapat menyebabkan
terjadinya overfitting sehingga tujuan kita adalah untuk mendapatkan jumlah pohon yang
tepat. The total number of trees to fit. GBMs often require many trees; however, unlike
random forests GBMs can overfit so the goal is to find the optimal number of trees that
minimize the loss function of interest with cross validation.

• Kedalaman Pohon : Jumlah split pada setiap pohon. Depth of trees: The number d of splits
in each tree, which controls the complexity of the boosted ensemble. Often d=1 works well, in
which case each tree is a stump consisting of a single split. More commonly, d is greater than
1 but it is unlikely d>10 will be required.

• Learning Rate: Mengontrol seberapa cepat algoritma meminimalkan nilai gradient descent.
Nilai yang lebih kecil mengurangi kemungkinan overfitting namun meningkatkan waktu dalam
pembangunan model. Learning rate juga dapat disebut shrinkage. Controls how quickly the
algorithm proceeds down the gradient descent. Smaller values reduce the chance of overfitting
but also increases the time to find the optimal fit. This is also called shrinkage.

• Subsampling: Mengontrol seberapa banyak data observasi yang akan dipilih untuk setiap
pohon. Pemilihan dilakukan dengan random sampling. Nilai subsampling kurang dari 1
membuat model menjadi kuat dengan mengurangi varians. Controls whether or not you
use a fraction of the available training observations. Using less than 100% of the training
observations means you are implementing stochastic gradient descent. This can help to
3.5. Algoritma GBM 21

minimize overfitting and keep from getting stuck in a local minimum or plateau of the loss
function gradient

Nilai yang paling tepat untuk hyper-parameter dipilih melalui hyper-parameter tuning. Ide dari
hyper-parameter tuning adalah menentukan beberapa set nilai hyper-parameter, mengoptimalkan
satu model untuk masing-masing set, dan memilih model yang menghasilkan nilai paling akurat.[12]

3.5.3 Hubungan Gradient Descent dan GBM


Pada subbab ini akan dijelaskan keterkaitan antara gradient descent dan GBM. Pada dasarnya
saat kita menjalankan algoritma GBM artinya kita sedang melakukan gradient descent pada
loss function yang membandingkan target y dengan prediksi model sebelumnya, Fm−1 , untuk
mendapatkan prediksi baru, Fm . Untuk melakukan hal ini, kita akan mengubah bentuk model
aditif dari GBM ke dalam bentuk persamaan gradient descent dari posisi terbaru. Mari kita
mulai dengan menyederhanakan bentuk aditif rekursif dari GBM: karena kita melatih ∇m (X)
dan ∇m (X) merupakan fungsi dari Fm−1 (X), yaitu vektor residual y − Fm−1 (X), maka prediksi
model lemah akan diganti dengan data target yang dilatih. Sejauh ini kita belum memberikan
notasi untuk vektor arah, maka untuk memperjelas pembahasan ini vektor arah akan dinotasikan
dengan rm−1 karena vektor arah tersebut diperoleh dari Fm−1 . Dengan begitu persamaan akan
menjadi lebih sederhana: Ketika L adalah MSE loss function, maka grandien dari L adalah vektor
residual kemudian gradient descent sebagai pengoptimal harus mencari residual tersebut, yang
dimana inilah yang dilakukan oleh GBM.[13] Untuk menunjukan bagaimana algoritma GBM di atas
dapat meminimalkan MSE loss function, L2 , kita perlu melakukan dua langkah. Yang pertama,
misal L(y, ŷm−1 ) = (y − ŷm−1 )2 maka grandiendari loss function tersebut adalah vektor residual
rm−1 = 2(y − ŷm−1 ). Yang kedua, tunjukkan bahwa bobot dari daun, Xw, adalah rata-rata dari
residual pada observasi di tiap daun karena rata-rata meminimalkan L(yi , Fm−1 (xi ) + γ) itu
xi ∈Rij
berarti meminimalkan: untuk mendapatkan nilai γ yang meminimumkan fungsi di atas maka kita
akan mencari turunan pertama dari fungsi tersebut terhadap w dan membuatnya sama dengan
nol: dari penurunan rumus di atas dapat kita lihat bahwa bobot dari suatu daun, γ, adalah
sebuah rata-rata ketika loss function yang kita gunakan adalah MSE. Dengan kata lain, hasil
prediksi daun-daun pohon regresi yang dibentuk berdasarkan residualnya adalah rata-rata.[13] dari
penurunan rumus di atas dapat kita lihat bahwa bobot dari suatu daun, γ, adalah sebuah rata-rata
ketika loss function yang kita gunakan adalah MSE. Dengan kata lain, hasil prediksi daun-daun
pohon regresi yang dibentuk berdasarkan residualnya adalah rata-rata.[13]dari penurunan rumus di
atas dapat kita lihat bahwa bobot dari suatu daun, γ, adalah sebuah rata-rata ketika loss function
yang kita gunakan adalah MSE. Dengan kata lain, hasil prediksi daun-daun pohon regresi yang
dibentuk berdasarkan residualnya adalah rata-rata.[13]dari penurunan rumus di atas dapat kita lihat
bahwa bobot dari suatu daun, γ, adalah sebuah rata-rata ketika loss function yang kita gunakan
adalah MSE. Dengan kata lain, hasil prediksi daun-daun pohon regresi yang dibentuk berdasarkan
residualnya adalah rata-rata.[13]
BAB 4
SIMULASI

4.1 Sumber Data


Basis data asuransi kelompok cacat jangka panjang atau disebut juga group long term disability
(gltd) memberikan sumber data yang kuat mengenai pengalaman pemulihan cacat dan kematian
dari sekitar 25 perusahaan yang menawarkan asuransi kelompok cacat jangka panjang. Data laporan
tabel pengalaman pemulihan cacat ini dikumpulkan selama tahun kalender 1997 sampai 2006. Data
ini kemudian diterbitkan pada tahun 2017 melalui situs resmi Society of Actuaries (SOA).[3] Pada
bab ini akan merinci hasil yang diperoleh dari penggunaan algoritma gradient boosting ke data
untuk memperkirakan tingkat pemulihan cacat.

4.2 Identifikasi Variabel


Pada simulasi pembuatan model dalam makalah ini terdapat 7 variabel independen (predictor)
yang berkaitan dengan tingkat pemulihan kecacatan yaitu:[3]
• Duration
Durasi pada kasus ini merupakan jangka waktu pemulihan cacat yang diukur dalam satuan
bulan.

• Age
Usia pada kasus ini merupakan usia saat klien mengalami kecacatan.

• Gender
Jenis kelamin adalah kondisi biologis dengan pembagian alamiah manusia yang masing-masing
menunjukkan karakteristik laki-laki atau perempuan.

• Disabilitiy Category
Kategori cacat (sakit) merupakan variabel yang paling signifikan dalam menentukan tingkat
pemulihan. Pada dataset yang diberikan terdapat 13 kategori cacat yaitu, back pain, cancer,
circulatory, diabetes, ill-difined and misc conditions, injury other back, mental and nervous,
nervous system, other, other musculoskeletal, respiratory.

• Own to Any Occupation Transition


Own to Any Occupation Transition adalah transisi dari ketidakmampuan seseorang untuk
bekerja di bidangnya ke ketidakmampuan seseorang tersebut untuk bekerja pada semua bidang
pekerjaan.

• Integration with Short Term Disability


Integration with Short Term Disability adalah keikutsertaan seseorang pada asuransi cacat
jangka pendek.

• Indexed Month Salary


Terdapat 4 group indexed month salary yaitu, group pertama dengan indexed month salary

23
24 Bab 4. Simulasi

sebesar $1000 sampai kurang dari $5000, group kedua dengan indexed month salary lebih dari
$5000 sampai kurang dari $10000, dan group ketiga dengan indexed month salary lebih dari
$10000 sampai kurang dari $20000 dan group keempat dengan indexed month salary lebih
dari $20000.

• Actual Recovery Rate


Variabel target yang akan diprediski. Variabel ini diukur berdasarkan satuan bulan.

4.3 Implementasi Gradient Boosting di R


Akan digunakan package gbm, library(gbm), yang merupakan implementasi dari gradient boosting
machine di R. Dataset di bawah ini menampilkan 6 baris pertama dari keseluruhan data yang akan
digunakan.

Tabel 4.1: Dataset Group Long Term Disability Recovery Rate

No Duration Age Band Disability Category


1 2 20 back
2 2 20 back
3 2 20 back
4 2 20 back
5 2 20 back
6 2 20 back

No Integration with STD Gender Own To Any Transition


1 OwnOther I: Integrated with STD 2: Female
2 OwnOther I: Integrated with STD 2: Female
3 OwnOther I: Integrated with STD 1: Male
4 OwnOther I: Integrated with STD 2: Female
5 OwnOther N: Not Integrated with STD 1: Male
6 OwnOther N: Not Integrated with STD 2:Male

No Gross Indexed Benefit Actual Recovery Rate


1 1: < $1000 0
2 2: $1000 - $1999 0
3 1: < $1000 0
4 1: < $1000 0
5 1: < $1000 0
6 2: $1000 - $1999 0

Selanjutnya dataset akan dibagi kedalam dua bagian yaitu data training yang merupakan bagian
dari dataset yang akan kita latih untuk membuat model prediksi dan data test yang merupakan
bagian dari dataset yang kita tes untuk melihat keakuratan model yang telah diperoleh dari data
training. Pembagian data training dan data test masing-masing sebesar 70% dan 30% dari dataset.
Kemudian akan dibangun model GBM dengan menggunakan fungsi gbm() dan beberapa argumen
sebagai berikut:[14]
 formula : Deskripsi simbolis dari model yang akan dibangun.
 distribution : Dapat dipandang sebagai jenis loss function yang akan digunakan.
Opsi yang tersedia adalah gaussian, laplace, tdist, bernoulli.
4.3. Implementasi Gradient Boosting di R 25

 data : Data frame yang berisikan variabel yang ada pada model.
 n.trees : Bilangan integer yang merepresentasikan untuk menentukan jumlah
pohon yang akan dibangun (jumlah iterasi).
 interaction.depth : Bilangan integer yang merepresentasikan menentukan kedalaman mak-
simum setiap pohon.
 n.minobsinnobs : Bilangan integer yang merepresentasikan jumlah pengamatan minimum
di simpul terminal pohon.
 shrinkage : Parameter shrinkage yang diterapkan ke setiap pohon dalam iterasi.
Juga dikenal sebagai learning rate; 0,001 hingga 0,1 biasa digunakan.
 bag.fraction : Menentukan proporsi data yang akan dipilih pada setiap iterasi. Default
adalah 0.5.
 cv.folds : Jumlah cross-validation yang akan dilakukan.

4.3.1 Model GBM 1


Akan dibangun model GBM yang pertama. Nilai-nilai dari paramater dipilih secara manual tanpa
ketentuan. Distribusi yang digunakan pada masing-masing model yang akan dicoba adalah gaussian,
distribusi ini merepresentasikan MSE loss function. Jumlah iterasi yang dilakukan adalah 2000, ini
mengartikan akan dibentuk sebanyak 2000 pohon keputusan secara berurutan. Banyaknya split
pada setiap pohon adalah 1 pohon sederhana ini biasa disebut sebagai stump. Shrinkage yang
digunakan pada model pertama adalah 0.01.
5-fold cross validation mengartikan bahwa data training akan dibagi kedalam 5 bagian yang
sama. Kemudian 5 data tersebut secara bergantian akan menjadi data training dan data test. Model
GBM akan dibangun berdasarkan masing-masing data training tersebut, setelah itu akan dipilih
model yang terbaik dengan mengestimasi error dari tiap-taip model menggunakan data test.
Perintah yang akan dijalankan oleh program R adalah sebagai berikut:
gbm(formula = Actual_Recovery_Rate., distribution = "gaussian", data = gltdTrain,
n.trees = 2000, interaction.depth = 1, shrinkage = 0.01, cv.folds = 5, verbose =
FALSE, n.cores = NULL)
Berikut adalah model dari Gradient Boosting Machine:
A gradient boosted model with gaussian loss function. 2000 iterations were
performed. The best cross-validation iteration was 2000. There were 7
predictors of which 7 had non-zero influence.
Selama melakukan boosting, weak-learner digabungkan secara iteratif untuk menghasilkan
estimasi akhir. Grafik berikut menunjukkan perubahan pada error loss function selama algoritma
gradient boosting menggabungkan jumlah weak-learner yang semakin besar.
Salah satu fitur penting pada pemodelan gbm adalah Variable Importance. Dengan meng-
gunakan fungsi summary() kita dapat memperoleh tabel dan plot dari variable importance yang
menunjukkan variabel mana yang memiliki pengaruh terbesar terhadap recovery rate. Plot di bawah
ini menunjukkan 5 variabel yang memiliki pengaruh terbesar terhadap recovery rate

4.3.2 Model GBM 2


Model GBM yang kedua menggunakan parameter sebagai berikut. Jumlah iterasi yang dilakukan
adalah 1000. Banyaknya split pada setiap pohon adalah 3. Shrinkage yang digunakan pada model
ini adalah 0.1. Akan dilakukan 5-fold cross validation.
Perintah yang akan dijalankan oleh program R adalah sebagai berikut:
gbm(formula = Actual_Recovery_Rate., distribution = "gaussian", data = gltdTrain,
26 Bab 4. Simulasi

Gambar 4.1: Best Iteration Model 1

Variable Relative Influence


Duration 60,0371
OwnOccToAnyTrans 19,1485
AgeBand 10,1602
Disability Category 7,5654
Gross Index Benefit 2,3660
Integration with STD 0,6184
Gender 0,1040

Tabel 4.2: Nilai Relative Influence Model 1

n.trees = 1000, interaction.depth = 3, shrinkage = 0.1, cv.folds = 5, verbose


=FALSE, n.cores = NULL)
Berikut adalah model kedua dari Gradient Boosting Machine:
A gradient boosted model with gaussian loss function. 1000 iterations were
performed. The best cross-validation iteration was 961. There were 7 predictors
of which 7 had non-zero influence.
4.3. Implementasi Gradient Boosting di R 27

Gambar 4.2: Relative Influence Model 1

MSE Model 1
0,01210928578

4.3.3 Tuning Hyperparameter


Tuning hyperparameter merupakan proses menentukan nilai hyperparameter agar model menjadi
lebih akurat. Proses tuning secara manual memakan banyak waktu untuk menemukan model yang
akurat, untuk mempercepat proses tuning kita dapat melakukan hyper-grid search. Pertama-tama
kita perlu menentukan beberapa nilai dari tiap-tiap hyperparameter sebagai berikut:

• shrinkage : 0.01, 0.05, 0.1.

• Interaction.depth : 3, 5, 7.

• n.minobsinnode : 5, 7, 10.

• bag.fraction : 0.65, 0 .8, 1.

Kemudian proses tersebut melakukan iterasi pada setiap kombinasi nilai hiperparameter dan
memungkinkan kita untuk menilai kombinasi mana yang cenderung memiliki kinerja yang baik.
Tabel di atas menunjukkan 5 baris pertama kombinasi nilai hyperparameter dari total 81 kombinasi.
Tabel tersebut juga menyertakan nilai RMSE dari tiap-tiap kombinasi nilai, yang akan digunakan
untuk menilai model dengan kombinasi nilai mana yang optimal.

4.3.4 Final GBM Model


Dapat dilihat dari tabel hyper-grid search bahwa kombinasi nilai hyperparameter untuk shrinkage
= 0,1, interaction.depth = 5, n.minobsinnode = 10, bag.fraction = 1,00, optimal trees
= 840 memiliki nilai RMSE yang paling kecil yaitu, 0,1070942. Maka dari itu kombinasi inilah
yang akan dipilih sebagai nilai untuk model yang baru.
Berikut adalah model akhir GBM yang akan digunakan untuk memprediksi tingkat pemulihan
cacat:
28 Bab 4. Simulasi

Gambar 4.3: Best Iteration Model 2

Gambar 4.4: Relative Influence Model 2

A gradient boosted model with gaussian loss function. 840 iterations were
performed. There were 7 predictors of which 7 had non-zero influence.
4.3. Implementasi Gradient Boosting di R 29

Variable Relative Influence (%)


Duration 43,029838
Disability Category 19,9081
OwnOccToAnyTrans 19,148047
AgeBand 9,3286
Gross Index Benefit 5,3806
Integration with STD 2,2394
Gender 0,9652

Tabel 4.3: Nilai Relative Influence Model 2

MSE Model 2
0,01158716614

Tabel 4.4: Kombinasi Nilai hyper-parameter

shrinkage interaction.depth n.minobsinnode


0,1 5 10
0,05 7 10
0,05 7 7
0,05 5 7
0,05 7 5

bag.fraction optimal trees min RMSE


1,00 840 0,1070942
1,00 1023 0,1071076
1,00 1126 0,1071081
1,00 1477 0,1071198
1,00 1124 0,1071231

Gambar 4.5: Relative Influence Final Model

GBM menyimpan informasi dari koleksi pohon yang dibentuk untuk membangun model dalam
struktur tabel. Fungsi yang digunakan untuk mengekstrak informasi dari struktur pohon adalah
30 Bab 4. Simulasi

Tabel 4.5: Nilai Relative Influence Final Model

Variable Relative Influence (%)


Duration 45,8870420
Disability Category 18,8079023
OwnOccToAnyTrans 17,1296400
AgeBand 8,8217192
Gross Index Benefit 5,9657677
Integration with STD 2,5852383
Gender 0,8026906

pretty.gbm.tree, fungsi ini menampilkan informasi dalam bentuk yang lebih mudah dibaca. Maka
untuk keperluan analisis akan ditampilkan informasi dari struktur pohon keputusan akhir.

Tabel 4.6: Informasi Pohon Keputusan Akhir

Index Split Var Split Code Pred Left Node Right Node Missing Node
0 3 2.462 1 14 15
1 2 2.463 2 12 13
2 0 1.850 3 10 11
3 4 2.464 4 5 9
4 -1 -2.697 -1 -1 -1
5 1 3.250 6 7 8
6 -1 3.709 -1 -1 -1
7 -1 4.759 -1 -1 -1
8 -1 8.165 -1 -1 -1
9 -1 3.105 -1 -1 -1
10 -1 -1.511 -1 -1 -1
11 -1 -8.886 -1 -1 -1
12 -1 3.569 -1 -1 -1
13 -1 -9.822 -1 -1 -1
14 -1 2.100 -1 -1 -1
15 -1 2.957 -1 -1 -1
4.3. Implementasi Gradient Boosting di R 31

Error Reduction Weight Prediction


0.0011 564633 2.957
0.0357 99489 -9.822
0.0904 36357 -8.886
0.1439 4904 3.105
0.0000 2284 -2.697
0.2581 2620 8.165
0.0000 276 3.709
0.0000 2344 4.759
0.0000 2620 8.165
0.0000 4904 3.105
0.0000 31453 -1.511
0.0000 36357 -8.886
0.0000 63132 3.569
0.0000 99489 -9.822
0.0000 465144 2.100
0.0000 564633 2.957

Pohon keputusan yang akan terbentuk dari tabel informasi di atas adalah sebagai berikut:

Own Occupation To Any

<2.462 missing node >2.462

Disability Category 2.957 2.1009

<2.463 missing node >2.463

Duration -9.822 3.5697

<18.5 missing node >18.5

Integration With STD -8.88 -1.5114

<2464 missing node >2464

-0.0002647 0.0003105 Age

<32.5 missing node >32.5

0.003709 0.0008165 0.0004759

Gambar 4.6: Pohon Keputusan Akhir dari Final Model

Nilai prediksi diperoleh dengan menjumlahkan nilai prediksi awal dengan semua pohon keputusan
yang telah dikalikan shrinkage. Perhatikan tabel berikut:
32 Bab 4. Simulasi

Tabel 4.7: Hasil prediksi recovery rate

Nilai Prediksi GBM Nilai Prediksi DT


0.25294518 0.305254
0.16086137 0.150792
0.18666429 0.179532
0.11572188 0.195727
0.12076859 0.279997
0.16253220 0.270802
0.37125715 0.539932
. .
. .
. .
Tabel 4.8: Perbandingan nilai prediksi GBM dan DT
BAB 5
SIMPULAN DAN SARAN

5.1 Simpulan
Dalam membangun model GBM, kita perlu menentukan nilai-nilai dari hyper-parameter yang
ada. Nilai-nilai tersebut dapat ditentukan secara manual atau dengan kata lain ditentukan dengan
mengubah nilai parameter satu persatu sehingga akan diperoleh beberapa model. Kemudian
beberapa model tersebut akan dievaluasi dengan melihat nilai RMSE yang diperoleh. Model
dengan nilai RMSE yang kecil merupakan model terbaik. Pemilihan nilai hyper-parameter secara
manual membutuhkan waktu yang lama untuk memperoleh model terbaik, cara yang lebih efisien
untuk memperoleh model terbaik adalah dengan melakukan hypergrid search. Proses hyper-grid
search yang dilakukan pada bab 4 menghasilkan model terbaik dengan nilai-nilai hyper-parameter
sebagai berikut: shrinkage = 0.1, n.trees = 840, interaction.depth = 5 dengan menambahkan dua
hyper-parameter baru yaitu n.minobsinnode = 10, bag.fraction = 1.00. RMSE yang diperoleh adalah
0.01146916767.

5.2 Saran
Saran untuk kajian lebih lanjut dari skripsi ini antara lain melakukan hyper-grid search untuk
kombinasi nilai hyper-parameter yang lebih banyak.

33
DAFTAR REFERENSI

[1] Lalley, C. (2019) Short-term disability vs long-term disability in-


surance. https://www.policygenius.com/disability-insurance/
short-term-disability-vs-long-term-disability-insurance/. 21 Februasi 2020.

[2] Martin, R. (2008) 2008 long term disability experience study report. https://www.soa.org/
globalassets/assets/files/research/exp-study/research-2008-ltd-study.pdf. 06
Februari 2020.

[3] Kopinsky, M. (2017) Predicting group long term disability recovery and mortality ra-
tes using tree models. https://www.soa.org/resources/experience-studies/2017/
2017-gltd-recovery-mortality-tree/. 06 Februari 2020.

[4] Sayad, D. S. (2019) Decision tree - regression. https://www.saedsayad.com/decision_tree_


reg.htm. 27 Februari 2020.

[5] Nurzakiyah, A. D. (2014) Post Pruning pohon keputusan spasial. Skripsi. INSTITUT
PERTANIAN BOGOR, Indonesia.

[6] James, G., Witten, D., Hastie, T., dan Tibshirani, R. (2009) An Introduction to Statistical
Learning with Applications in R, 2nd edition. Springer, London.

[7] Natekin, A. dan Knoll, A. (2013) Gradient boosting machines, a tutorial. Frontiers in
neurorobotics, 25, 1.

[8] Parr, T. dan Howard, J. (2018) How to explain gradient boosting. Gradient boosting: Distance
to target., 25, 20–30.

[9] Friedman, J. (1999) Stochastic gradient boosting. department of statistics. Technical report.
Stanford University, Technical Report, San Francisco, CA.

[10] Friedman, J. H. (2001) Greedy function approximation: A gradient boosting machine. The
Annals of Statistics, 29, 1189–1232.

[11] Murphy, K. P. (2012) Machine Learning: A Probabilistic Perspective. The MIT Press, Cambri-
dge.

[12] Bhalla, D. (2016) Gbm (boosted models) tuning parameters. https://www.listendata.com/


2015/07/gbm-boosted-models-tuning-parameters.html. 11 Mei 2020.

[13] Parr, T. dan Howard, J. (2018) How to explain gradient boosting. Gradient boosting performs
gradient descent., 25, 30–40.

[14] Greenwell, B., Boehmke, B., Cunningham, J., dan Developers, G. (2019) Generalized Boosted
Regression Models, 2nd edition. Brandon Greenwell, Berlin.

35

Anda mungkin juga menyukai