Pohon Keputusan Decision Trees Klasifikasi Definisi p Diberikan
Pohon Keputusan (Decision Trees)
Klasifikasi: Definisi p Diberikan sekumpulan record (tramsaksi) (training set ) n Setiap record terdiri dari attribute-atribute, dan satu atribut berupa atribut class. p Menemukan model pada atribute class yaitu sebagai fungsi dari atribut lain p Test set digunakan untuk menentukan akurasi model. Biasanya data dinyatakan dengan data training dan data test. Data training digunakan untuk membangun model dan data tes digunakan menentukan validasi model
Ilustrasi Klasifikasi
Model/teknik Klasifikasi (contoh) Metode berbasis pohon keputusan ( Decision Tree based Methods) p Rule-based Methods p Neural Networks p Naïve Bayes and Bayesian Belief Networks p Support Vector Machines p
Decision Tree al al ric o g te ca o ca g te s ric in t on c u uo ss a l c Splitting Attributes Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Training Data Married NO > 80 K YES Model: Decision Tree
Decision Tree(2) l l a ric o c eg t a o ca g te a ric co in t n u uo s ss a cl Married Mar. St NO Single, Divorced Refund No Yes NO Tax. Inc < 80 K NO > 80 K YES
Klasifikasi Decision Tree
Menggunakan model untuk data tesa Test Data Start from the root of tree. Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES
Model data tes Test Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES
Model data tes Test Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES
Model data tes Test Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES
Model data tes Test Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES
Model data tes Test Data Refund Yes No NO Mar. St Single, Divorced Tax. Inc < 80 K NO Married NO > 80 K YES Assign Cheat to “No”
Model data tes Decision Tree
Tree Induction p Masalah n Menentukan bagaiman untuk membagi/split record-record Bagaimana cara menentukan atribut untuk node pemisah? p Bagaimana menentukan pembagi yang terbaik (best split)? p n Kapan berhenti untuk melakukan pemisahan/ splitting
Cara menentukan pengujian terhadap atribute p Bergantung pada tipe atribut n n n p Nominal Ordinal Continuous Bergantung pada cara memisahkan n n 2 -way split Multi-way split
Splitt pada atribute Nominal p Multi-way split: Car. Type Family Luxury Sports p Binary split: {Sports, Luxury} Car. Type {Family} OR {Family, Luxury} Car. Type {Sports}
Split pada atribut Ordinal p Multi-way split: Size Small Medium p Large Binary split: {Small, Medium} Size {Large} OR {Small, Large} {Medium, Large} Size {Medium} {Small}
Split pada atribute kontinu p Beberapa cara n Discretization n Binary Decision: (A < v) or (A v) Mencari beberapa kemungkinan split dan mencari yang terbaik. p Perlu banyak komputasi p
Split berdasarkan atribute kontinu
Menentukan pemisah yang terbaik Sebelum dipisah : 10 record class 0, 10 record class 1
Ukuran p Gini Index p Entropy p Misclassification error
GINI p Gini Index pada note t : (NOTE: p( j | t) frekwensi relatif dari class j pada node t. n n Maximum (1 - 1/nc) bila records distribusinya sama untuk semua class, tanda informasi kurang menarik Minimum (0. 0) bila semua record menjadi anggota dari satu kelas tertentu, tanda informasi yang sangat menarik
Pemisahan berdasarkan. GINI p Ketika node p dipisah ke dalam k bagian (children), maka nilainya dihitung dengan dimana, ni = jumlah record pada child i, n = jumlah record pada node p
Atribut Binary: Menghitung GINI Index p Dibagi menjadi 2 bagian B? Yes Gini(N 1) = 1 – (5/6)2 – (2/6)2 = 0. 194 Gini(N 2) = 1 – (1/6)2 – (4/6)2 = 0. 528 Node N 1 No Node N 2 Gini(Children) = 7/12 * 0. 194 + 5/12 * 0. 528 = 0. 333
Atribute Categorical: menghitung Gini Index Multi-way split Two-way split (find best partition of values)
Atribut Kontinu: Menghitung GINI index p p Menggunakan Binary Decisions Beberapa pilihan untuk splitting value n Banyaknya nilai pemisah = jumlah nilai yang berbeda
Atribut Kontinu p Pilih gini index terkecil Sorted Values Split Positions
Ukuran INFO p Entropy pada node t: (NOTE: p( j | t) adalah frekwensi relatif dari class j pada node t n Mengukur keseragaman suatu node. Maximum (log nc) bila record sama untuk semua class, tanda kurang informasi p Minimum (0. 0) bila semua record menjadi anggota suatu kelas, tanda banyak informasi p Entropy perhitungannya serupa dengan GINI index p
Contoh perhitungan P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Entropy = – 0 log 0 – 1 log 1 = – 0 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Entropy = – (1/6) log 2 (1/6) – (5/6) log 2 (1/6) = 0. 65 P(C 1) = 2/6 P(C 2) = 4/6 Entropy = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0. 92
Didasarkan pada INFO. . . p Information Gain: Parent Node, p dipisah kedalam k bagian; ni adalah jumlah recode dalam partisi I Pilih pemisah dengan maximium GAIN
Contoh: TABLE 7. 1 (p. 145) A simple flat database of examples for training X 1 X 2 X 3 C B 65 TRUE C 1 A 70 FALSE C 1 C 70 TRUE C 2 B 75 FALSE C 1 B 78 FALSE C 1 C 80 TRUE C 2 C 80 FALSE C 1 A 85 FALSE C 2 A 90 TRUE C 2 B 90 TRUE C 1 A 95 FALSE C 2 C 96 FALSE C 1
p p Entropy (T)=-9/14*log 2(9/14)-5/14*log 2(5/14) =0. 940 bits =5/14(-2/5*log 2(2/5)-3/5*log 2(3/5)) +4/14(-4/4*log 2(4/4)-0/4*log 2(0/4)) +5/14(-3/5*log 2(3/5)-2/5*log 2(2/5)) =0. 694 bits p Gain(x 1)=0. 940 -0. 694=0. 246 bits
Splitting Based on INFO. . . p Gain Ratio: Parent Node, p dipisah ke dalam k partisi ni jumlah recode dalam partisi i
Splitting Criteria based on Classification Error p Classification error at a node t : p Measures misclassification error made by a node. p p Maximum (1 - 1/nc) distribusi kelas sama, sedikit informasi Minimum (0. 0) bila semua record menjadi anggot satu kelas tertentu; banyak informasi
Contoh P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Error = 1 – max (0, 1) = 1 – 1 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Error = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6 P(C 1) = 2/6 P(C 2) = 4/6 Error = 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3
Training Examples Day Outlook Temp. Humidity Wind Play Tennis D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D 9 D 10 D 11 D 12 D 13 D 14 Sunny Overcast Rain Overcast Sunny Rain Sunny Overcast Rain Hot Hot Mild Cool Mild Cold Mild Hot Mild ICS 611 High Normal Normal High Weak Strong Weak Weak Strong Weak Strong No No Yes Yes Yes No 37
Selecting the Next Attribute S=[9+, 5 -] E=0. 940 Humidity High [3+, 4 -] E=0. 985 Wind Normal Weak [6+, 1 -] [6+, 2 -] E=0. 592 E=0. 811 Strong [3+, 3 -] E=1. 0 Gain(S, Wind) =0. 940 -(8/14)*0. 811 – (6/14)*1. 0 =0. 048 Gain(S, Humidity) =0. 940 -(7/14)*0. 985 – (7/14)*0. 592 =0. 151 ICS 611 Humidity provides greater info. gain than Wind, w. r. t target classification. 38
Selecting the Next Attribute S=[9+, 5 -] E=0. 940 Outlook Sunny [2+, 3 -] E=0. 971 Over cast Rain [3+, 2 -] [4+, 0] E=0. 971 E=0. 0 Gain(S, Outlook) =0. 940 -(5/14)*0. 971 -(4/14)*0. 0 – (5/14)*0. 0971 =0. 247 ICS 611 39
Selecting the Next Attribute The information gain values for the 4 attributes are: • Gain(S, Outlook) =0. 247 • Gain(S, Humidity) =0. 151 • Gain(S, Wind) =0. 048 • Gain(S, Temperature) =0. 029 where S denotes the collection of training examples ICS 611 40
[D 1, D 2, …, D 14] [9+, 5 -] Sunny Ssunny=[D 1, D 2, D 8, D 9, D 11] [2+, 3 -] ? Outlook Overcast Rain [D 3, D 7, D 12, D 13] [4+, 0 -] [D 4, D 5, D 6, D 10, D 14] [3+, 2 -] Yes ? Gain(Ssunny , Humidity)=0. 970 -(3/5)0. 0 – 2/5(0. 0) = 0. 970 Gain(Ssunny , Temp. )=0. 970 -(2/5)0. 0 – 2/5(1. 0)-(1/5)0. 0 = 0. 570 Gain(Ssunny , Wind)=0. 970= -(2/5)1. 0 – 3/5(0. 918) = 0. 019 ICS 611 41
ID 3 Algorithm Outlook Sunny Overcast Humidity Rain Yes Wind [D 3, D 7, D 12, D 13] High Normal No Yes [D 1, D 2] [D 8, D 9, D 11] Strong No ICS 611 [D 6, D 14] Weak Yes [D 4, D 5, D 10] 42
- Slides: 42