Anda di halaman 1dari 12

Data

Death
Age Anaemia
Event
40 0 0
40 0 0
45 1 0
45 1 1
53 0 0
62 0 1
65 1 0
70 0 0
70 0 1
81 0 0

Prosedur dalam membangun pemodelan klasifikasi AdaBoost sebagai berikut (Hastie et al.,

2008):

1. Menentukan bobot awal w i setiap amatan pada gugus data latih ( x i , y i) dengan i=1,2,3 , … , N

1 (3)
w i=
N

Death
Age Anaemia Weight
Event
40 0 0 0,1
40 0 0 0,1
45 1 0 0,1
45 1 1 0,1
53 0 0 0,1
62 0 1 0,1
65 1 0 0,1
70 0 0 0,1
70 0 1 0,1
81 0 0 0,1
2. Pada setiap iterasi m, dengan m=1,2,3 , … , M dilakukan hal berikut:

ITERASI 1(m=1)
(m)
a. Sampel dataset menggunakan bobot w i untuk mendapatkan sampel training x i.

Iterasi 1 (m=1)

Data sampel yang digunakan:

Death
Age Anaemia Weight
Event
40 0 0 0,1
40 0 0 0,1
45 1 0 0,1
45 1 1 0,1
53 0 0 0,1
62 0 1 0,1
65 1 0 0,1
70 0 0 0,1
70 0 1 0,1
81 0 0 0,1

b. Menentukan pendugaan klasifikasi menggunakan weak learner (stump), didapat dengan

memilih variabel dengan nilai maximum dari persamaan (2), pada data sampel training x i

Membentuk model decision tree G1 (x i) dengan atribu yang memiliki nilai information

gain terbesar.
Death
Age <=70 Anaemia Weight
Event
-1 -1 -1 0,1
-1 -1 -1 0,1
-1 1 -1 0,1
-1 1 1 0,1
-1 -1 -1 0,1
-1 -1 1 0,1
-1 1 -1 0,1
-1 -1 -1 0,1
-1 -1 1 0,1
1 -1 -1 0,1

Gain(Y,X1) = 0,816

Gain(Y,X2) = 0,002

Sesuai dengan aturan pemodelan decision tree kita akan menggunakan X1(atribut dengan

information gain terbesar) sebagai simpul akar.

c. Hitung kesalahan klasifikasi weak learner dengan persamaan berikut:

∑ w(m)
i (4)
yi ≠G m ( x i )
er r m =
∑ w(mi )
yi

Keterangan:

yi : Nilai sebenarnya dari target variabel


(m)
wi : Bobot dari sampel i pada iterasi m

Gm ( x i ) : Nilai prediksi yang dihasilkan oleh algoritma weak learner (stump) saat

melatih suatu komponen klasifikasi pada iterasi m


Age (Age<=yes,correct) = 6

Age(Age<=yes,incorrect) = 3 (missclassify)

Age (Age<=no, correct) = 0

Age(Age<=no, incorrect) = 1 (missclassify)

0,1+0,1+0,1+ 0,1
er r 1=
1

er r 1=0,4

d. Hitung koefesien α m dengan persamaan berikut

1 1−er r m (5)
α m= ln ( ¿) ¿
2 er r m

1 1−0,4
α 1= ln ( ¿)¿
2 0,4

α 1=0,2

e. Update bobot sampel pelatihannya:

w m+1
i =wmi exp (−α m y i Gm ( xi ) ) ,i =1,2,3 ,… , N (6)

Dengan keterangan:

yi : Nilai sebenarnya dari target variabel

αm : Tingkat kepercayaan atas prediksi weak learner pada iterasi m

Jika data diklasifikasikan dengan salah, y i Gm ( x i ) =−1 dan jika data diklasifikasikan

dengan benar, maka y i Gm ( x i ) =1.


2 1
w i =w i exp (−α 1 y i G1 (x i) ) , i=1,2,3 , … , N

w 1=w 1 exp (−α 1 y 1 G 1 (x 1) )


2 1

2
w 1=0,1 exp (−0,2(−1)(−1) )

2
w 1=0,0

w 22=w 12 exp (−α 1 y 1 G1 (x 2) )

2
w 1=0,1 exp (−0,2(−1)(−1) )

w 21=0,08

w 4=w 4 exp ( −α 1 y 4 G 1 (x 4 ))
2 1

w 23=0,1 exp (−0,2(−1)(1) )

2
w 3=0,122

…………
2 1
w 10=w 10 exp (−α 1 y10 G1 ( x10 ) )

2
w 10 =0,1 exp (−0,2(1)(−1) )

w 210=0,122

Death New
Age <=70 Anaemia Weight
Event Weight
-1 -1 -1 0,1 0,08
-1 -1 -1 0,1 0,08
-1 1 -1 0,1 0,08
-1 1 1 0,1 0,122
-1 -1 -1 0,1 0,08
-1 -1 1 0,1 0,122
-1 1 -1 0,1 0,08
-1 -1 -1 0,1 0,08
-1 -1 1 0,1 0,122
1 -1 -1 0,1 0,122

Normalize the new weight

Death New Normalize


Age <=70 Anaemia
Event Weight Weight
-1 -1 -1 0,08 0,08
-1 -1 -1 0,08 0,08
-1 1 -1 0,08 0,08
-1 1 1 0,122 0,13
-1 -1 -1 0,08 0,08
-1 -1 1 0,122 0,13
-1 1 -1 0,08 0,08
-1 -1 -1 0,08 0,08
-1 -1 1 0,122 0,13
1 -1 -1 0,122 0,13

ITERASI 1(m=2)
(m)
Sampel dataset menggunakan bobot w i untuk mendapatkan sampel training x i.

Iterasi 2 (m=2)

Data sampel yang digunakan:

Death Normalize
Age <=70 Anaemia Freq
Event Weight
-1 -1 -1 0,08 0-0,08
-1 -1 -1 0,08 0,08-0,16
-1 1 -1 0,08 0,16-0,24
-1 1 1 0,13 0,24-0,37
-1 -1 -1 0,08 0,37-0,45
-1 -1 1 0,13 0,45-0,58
-1 1 -1 0,08 0,58-0,66
-1 -1 -1 0,08 0,66-0,74
-1 -1 1 0,13 0,74-0,87
1 -1 -1 0,13 0,87-1,00

Cara pemilihan data sampel:

Syarat: Banyaknya data yang digunakan harus sama, pemngambilan dengan

pengembalian.

1. Mengambil sampel satu: tentukan satu angka secara random dengan range 0-1

(contohnya kita memilih angka 0,4, maka kita berpacu ke tabel freq angka 0,4 masuk

ke bucket mana. Maka untuk data sample 1 kita menggunakan data ke-5 (karena 0,4

berada pada range 0,37-0,45).

2. Sampel 2 (memilih secara random angka 0,1), maka untuk sampel 2 kita memilih

data ke-2 karena 0,1 berada pada range 0,08-0,16.

3. ……..

4. Sampel 10 (memilih secara random angka 0,5), maka untuk sampel 6 kita memilih

data ke-6 karena 0,5 berada pada range 0,45-0,58.

Death
Age <=70 Anaemia
Event New Weight
-1 -1 -1 0,08
-1 -1 -1 0,08
-1 1 1 0,13
-1 -1 -1 0,08
-1 -1 1 0,13
-1 -1 -1 0,08
1 -1 -1 0,13
-1 1 1 0,13
1 -1 -1 0,13
-1 -1 1 0,13
Menentukan pendugaan klasifikasi menggunakan weak learner (stump), didapat dengan

memilih variabel dengan nilai maximum dari persamaan (2), pada data sampel training x i

Membentuk model decision tree G1 (x i) dengan atribu yang memiliki nilai information

gain terbesar.

Gain(Y,X1) = 0,171

Gain(Y,X2) = 0,473

Sesuai dengan aturan pemodelan decision tree kita akan menggunakan X2(atribut dengan

information gain terbesar) sebagai simpul akar.

Hitung kesalahan klasifikasi weak learner dengan persamaan berikut:

∑ (m)
wi (4)
yi ≠G m ( x i )
er r m =
∑ w(mi )
yi

Keterangan:

yi : Nilai sebenarnya dari target variabel

w(m)
i : Bobot dari sampel i pada iterasi m

Gm ( x i ) : Nilai prediksi yang dihasilkan oleh algoritma weak learner stump) saat

melatih suatu komponen klasifikasi pada iterasi m

Anaemia (No, correct) = 6

Anaemia (No, incorrect) = 2 (missclassify)

Anaemia (Yes, correct) = 2

Anaemia (Yes, incorrect) = 0 (missclassify)


0,1+0,1
er r 1=
1

er r 1=0,2

Hitung koefesien α m dengan persamaan berikut

1 1−er r m (5)
α m= ln ( ¿) ¿
2 er r m

1 1−0,2
α 2= ln ( ¿ )¿
2 0,2

α 2=0,693

Update bobot sampel pelatihannya:

w m+1
i =wmi exp (−α m y i Gm ( xi ) ) ,i =1,2,3 ,… , N (6)

Dengan keterangan:

yi : Nilai sebenarnya dari target variabel

αm : Tingkat kepercayaan atas prediksi weak learner pada iterasi m

Jika data diklasifikasikan dengan salah, y i Gm ( x i ) =−1 dan jika data diklasifikasikan

dengan benar, maka y i Gm ( x i ) =1.

w i =w i exp ( −α 2 y i G2 (x i )) ,i=1,2,3 , … , N
3 2

w 1=w 1 exp ( −α 2 y 1 G 2 (x 1) )
3 2

w 31=0,08 exp (−0,693 (−1)(−1) )


3
w 1=0,04

w 2=w 2 exp ( −α 2 y 2 G 2 (x 2) )
3 2

w 32=0,08 exp (−0,693 (−1)(−1) )

3
w 1=0,04

w 5=w 5 exp ( −α 2 y 5 G2 (x 5 ) )
3 2

3
w 5=0,13 exp (−0,693 (−1)(1) )

3
w 5=0,26

…….

w 10=w 10 exp (−α 2 y 10 G 2 ( x 10) )


3 2

3
w 10=0,13 exp (−0,693(−1)(1))

3
w 10 =0,26

Death New
Age <=70 Anaemia Weight
Event Weight
-1 -1 -1 0,08 0,04
-1 -1 -1 0,08 0,04
-1 1 1 0,13 0,04
-1 -1 -1 0,08 0,04
-1 -1 1 0,13 0,26
-1 -1 -1 0,08 0,04
1 -1 -1 0,13 0,04
-1 1 1 0,13 0,04
1 -1 -1 0,13 0,04
-1 -1 1 0,13 0,26
Normalize the new weight

Death New
Age <=70 Anaemia Weight Normalize
Event Weight
-1 -1 -1 0,08 0,04 0,05
-1 -1 -1 0,08 0,04 0,05
-1 1 1 0,13 0,04 0,05
-1 -1 -1 0,08 0,04 0,05
-1 -1 1 0,13 0,26 0,31
-1 -1 -1 0,08 0,04 0,05
1 -1 -1 0,13 0,04 0,05
-1 1 1 0,13 0,04 0,05
1 -1 -1 0,13 0,04 0,05
-1 -1 1 0,13 0,26 0,31

3. Dugaan akhir prediksi merupakan total terboboti dugaan prediksi tiap iterasi dengan

persamaan:

[ ]
M
G ( x )=sign ∑ αm Gm (x i) (7)
m =1

Tanda sign[] memiliki arti bahwa kita mengikutsertakan tanda positif dan negatif ketika

melakukan penjumlahan. Penentuan prediksi klasifikasi akan menghasilkan kelas 1 apabila


M

∑ αm ≥ 0 dan kelas -1 untuk selainnya.


m=1

[∑ ]
2
G ( x )=sign α 1 G1 ( x ujicoba ) +α 2 G2 ( x ujicoba)
m =1

Contoh Penggunaan Model pada data uji coba:

Anaemia(X2 Death
Age(X1)
) Event
30 yes ?
Anaemia(X2 Death
Age(X1)
) Event
-1 1 ?

[ ]
2
G ( x )=sign ∑ 0,2(−1)+ 0,693(1)
m =1

G ( x )=sign [ 0,493 ]

G ( x )=1

Anaemia(X2 Death
Age(X1)
) Event
-1 1 1

Anaemia(X2 Death
Age(X1)
) Event
30 yes 1

Sehingga menggunakan data uji tersebut, model adaboost mengklasifikasikan pasien dengan
umur 30 dan mengidap anemia diklasifikasikan akan meninggal.

Anda mungkin juga menyukai