Skripsi Agnes 2016710053 Revisi Bab 3
Skripsi Agnes 2016710053 Revisi Bab 3
Agnes G. Mercyana
NPM: 2016710053
Agnes G. Mercyana
NPM: 2016710053
DEPARTMENT OF MATHEMATICS
FACULTY OF INFORMATION TECHNOLOGY AND SCIENCES
PARAHYANGAN CATHOLIC UNIVERSITY
2020
LEMBAR PENGESAHAN
Agnes G. Mercyana
NPM: 2016710053
Menyetujui,
Pembimbing Utama Pembimbing Pendamping
Mengetahui,
Dengan ini saya yang bertandatangan di bawah ini menyatakan bahwa skripsi dengan judul:
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
Penulis
xv
DAFTAR ISI
Kata Pengantar xv
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
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
xvii
5.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Daftar Referensi 35
xviii
DAFTAR GAMBAR
xix
DAFTAR TABEL
xxi
BAB 1
PENDAHULUAN
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.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. Jenis asuransi kelompok (group) yang dibahas adalah asuransi kelompok cacat jangka panjang
saja.
7. Data yang digunakan untuk simulasi hanya data untuk kasus regresi.
Bab 1: Pendahuluan
Bab ini terdiri dari latar belakang, rumusan masalah, tujuan, batasan masalah dan sistematika
pembahasan.
akar
internal terminal
terminal terminal
5
6 Bab 2. Landasan Teori
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)
dimana :
c = jumlah nilai yang ada pada atribut target
pi = jumlah proporsi sampel untuk kelas i
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.
(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
2. Mendung
3. Hujan
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:
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:
7 7
S(T, kelembaban) = × 9.36 + × 8.73 = 9.04
14 14
6 8
S(T, kondisi angin) = × 10.59 + × 7.87 = 9.03
14 14
SDR(T, kondisi angin) = 9.32 − 9.03 = 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
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.
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.14: Standar deviasi dari atribut temperatur ketika cuaca cerah
2 2 1
S(T, cuaca cerah dan temperatur = × 2.5 + × 6.5 + × 0 = 3.6
5 5 5
Tabel 2.17: Standar deviasi dari atribut kelembaban ketika cuaca cerah
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.20: Standar deviasi dari atribut kondisi ketika cuaca cerah
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:
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
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
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
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.
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
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
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:
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]
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
• 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 pertama pada algoritma diatas adalah mencari suatu nilai konstan yang meminimalkan
penjumlahan dari L(yi , γ).
n
X
F0 (x) = argmin L(yi , γ)
γ
i=1
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.
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
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]
• 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.
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.
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.
MSE Model 1
0,01210928578
• Interaction.depth : 3, 5, 7.
• n.minobsinnode : 5, 7, 10.
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.
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
MSE Model 2
0,01158716614
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
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.
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
Pohon keputusan yang akan terbentuk dari tabel informasi di atas adalah sebagai berikut:
Nilai prediksi diperoleh dengan menjumlahkan nilai prediksi awal dengan semua pohon keputusan
yang telah dikalikan shrinkage. Perhatikan tabel berikut:
32 Bab 4. Simulasi
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
[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.
[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.
[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