Decision Tree adalah salah satu metode
klasifikasi yang populer karena mudah diinterprestasikan oleh manusia.
Decision tree digunakan untuk pengenalan pola dan termasuk dalam pengenalan pola secara statistik.
Sekarang kita coba menyelesaikan Decision Tree dengan Classification Error.
Examples (S), adalah training examples yang ditunjukkan oleh tabel di bawah ini:
Decision tree digunakan untuk pengenalan pola dan termasuk dalam pengenalan pola secara statistik.
Sekarang kita coba menyelesaikan Decision Tree dengan Classification Error.
Examples (S), adalah training examples yang ditunjukkan oleh tabel di bawah ini:
Target attribute adalah PlayTennis yang memiliki value yes
atau no, selama 14 minggu pada setiap Sabtu pagi. Attribute adalah Outlook,
Temperature, Humidity, dan Wind.
Penyelesaian Decision Tree menggunakan konsep Classification
Error.
Error (9+,5-) =
1-max((9/14),(5/14))
=
1-(9/14)
=
0.3571
Penentuan Root
Decision Tree
Value Windy =
(weak, strong)
S weak =
(6+,2-) Error
(weak) = 1-max((6/8), (2/8)) = 1-(6/8) = 0.25
S strong =
(3+,3-) Error
(strong) = 1-max((3/6),(3/6)) = 1-(3/6) = 0.5
Gain(S, windy) = Error(S)
– 8/14 Error(weak) – 6/14 Error(strong)
=
0. 3571- 8/14 0.25 – 6/14 0.5 = 0.0001
Value Humidity =
(high, normal)
S high =
(3+,4-) Error(high)
= 1-max((3/7), (4/7)) =
1-(4/7) = 0.4286
S normal =
(6+,1-) Error(normal)
= 1-max((6/7), (1/7)) = 1-(6/7)= 0.1429
Gain(S, humidity) = Error(S) – 7/14 Error(high) – 7/14 Error(normal)
=
0. 3571- 7/14 0.4286 – 7/14 0.1429 = 0.0713
Value Temperatur = (hot, mid, cool)
S hot =
(2+,2-) Error(hot)
= 1-max((2/4),(2/4)) = 0.5
S mid =
(4+,2-) Error(mid)
= 1-max((4/6), (2/4)) =
0.3333
S cool =
(3+,1-) Error(cool)
= 1-max((3/4), (1/4)) = 0.25
Gain(S, temperatur)= Error(S) – 4/14 Error(hot) – 6/14 Error(mid)
– 4/14 Error(cool)
=
0. 3571- 4/14 0.5 – 6/14 0.3333 – 4/14 0.25 = 0.0205
Value Outlook= (sunny, overcast, rain)
S sunny =
(2+,3-) Error(sunny)
= 1-max((2/5),(3/5)) = 0.4
S overcast =
(4+,0-) Error(overcast)
= 1-max((4/4), (0/4)) = 0
S rain =
(3+,2-) Error(rain)
= 1-max((3/5), (2/5)) = 0.4
Gain(S, outlook) = Error(S) – 5/14 Error(sunny) – 4/14 Error(overcast)
– 5/14 Error(rain)
=
0. 3571- 5/14 0.4 – 4/14 0 – 5/14 0.4 = 0.0715
Dari perhitungan di atas didapat:
Gain (S,windy) =
0.0001
Gain (S,humidity) = 0.0713
Gain (S,temperatur) =
0.0205
Gain (S,outlook) =
0.0715
Maka attribute Outlook
diambil sebagai Root Decision Tree karena menyediakan prediksi terbesar.
Branch node Outlook =
Sunny
S sunny =
(2+,3-) Error(sunny) = 0.4
Value Temperatur= (hot, mid, cool)
S hot =
(0+,2-) Error(hot)
= 1-max((0/2), (2/2)) = 0
S mid =
(1+,1-) Error(mid)
= 1-max((1/2), (1/2)) = 0.5
S cool =
(1+,0-) Error(cool)
= 1-max((1/1), (0/1)) = 0
Gain(Sunny, temperatur)= Error(Sunny) – 2/5 Error(hot) – 2/5
Error(mid) – 1/5 Error(cool)
=
0.4 – 2/5 0 – 2/5 0.5 – 1/5 0 = 0.2
Value humidity = (high,
normal)
S high =
(0+,3-) Error(high)
= 1-max((0/2), (3/3)) = 0
S normal =
(2+,0-) Error(normal)
= 1-max((2/2), (0/2)) = 0
Gain(Sunny, humidity)= Error(Sunny) – 3/5 Error(high) – 2/5 Error(normal)
=
0.4 – 3/5 0 – 2/5 0 = 0.4
Value windy =
(weak, strong)
S weak =
(1+,2-) Error(weak)
= 1-max((1/3), (2/3))= 0.3333
S strong =
(1+,1-) Error(strong)
= 1-max((1/2),(1/2))= 0.5
Gain(Sunny, windy)= Error(Sunny) – 3/5 Error(weak) – 2/5 Error(strong)
=
0.4 – 3/5 0.3333 – 2/5 0.5 = 0.00002
Dari perhitungan di atas didapat:
Gain(Sunny, temperatur) =
0.2
Gain(Sunny, humidity) =
0.4
Gain(Sunny, windy) =
0.00002
Maka Attribut humidity
dipilih sebagai Branch node karena menyediakan prediksi terbesar.
Dengan cara yang sama, Anda dapat menemukan Branch node yang
lainnya.
Semoga bermanfaat,
Endro A
thank you bro artikelnya sangat membantu, saya ingin bertanya bro, untuk yang data kontinu itu gimana untuk ya bro? makasih
ReplyDelete