ECEU601303 – INTRODUCTION TO DATA SCIENCE
Lecture 5
Classification in Data Science
Dr. Eng. Arie Wahyu Wijayanto, SST., MT.
CLASSIFICATION
2
2
SUPERVISED LEARNING
Classification
• memprediksi label kelas kategorikal
• mengklasifikasikan data (membangun model) berdasarkan set data latih (training set) dan nilai-nilai
(label kelas) dalam atribut klasifikasi dan menggunakannya dalam mengklasifikasikan data baru.
Estimation/Regression
model memprediksi label yang bernilai kontinu, yaitu, memprediksi
nilai yang tidak diketahui atau hilang.
Prediction/Forecasting
model memprediksi label yang bernilai kontinu di masa depan,
umumnya untuk data deret waktu/time series.
3
DECISION TREE
4
SUPERVISED LEARNING
Classification
• memprediksi label kelas kategorikal
• mengklasifikasikan data (membangun model) berdasarkan set data latih (training set) dan nilai-nilai
(label kelas) dalam atribut klasifikasi dan menggunakannya dalam mengklasifikasikan data baru.
Estimation/Regression
model memprediksi label yang bernilai kontinu, yaitu, memprediksi
nilai yang tidak diketahui atau hilang.
Prediction/Forecasting
model memprediksi label yang bernilai kontinu di masa depan,
umumnya untuk data deret waktu/time series.
5
DECISION TREE
6
DECISION TREE
• Proses pada Decision Tree adalah mengubah bentuk data (tabel)
menjadi bentuk Tree
•Metode Decision Tree mengubah fakta yang sangat besar menjadi
decision Tree yang merepresentasikan aturan.
•Sebuah Decision Tree adalah struktur yang dapat digunakan untuk
membagi data yang besar menjadi himpunan-himpunan record yang
lebih kecil dengan menerapkan serangkaian aturan keputusan. (Berry
& Linoff)
DECISION TREE
• Tree merupakan struktur data yang
terdiri dari simpul & rusuk. Simpul
(root,branch,leaf)
• Algoritma yang digunakan untuk
pembentukan Decision Tree
diantaranya: ID3,CART,C4.5
• Algoritma C4.5 merupakan
pengembangan dari ID3
1
HUMIDITY
High
Normal
1.1
OUTLOOK
Cloudy
YES
False
YES
YES
Sunny
1.1.2
WINDY
NO
True
NO
DECISION TREE
❑Training data set: Buys_computer
age income student credit_rating buys_computer
<=30
high
no fair
no
<=30
high
no excellent
no
31…40 high
no fair
yes
>40
medium
no fair
yes
>40
low
yes fair
yes
>40
low
yes excellent
no
31…40 low
yes excellent
yes
<=30
medium
no fair
no
<=30
low
yes fair
yes
>40
medium yes fair
yes
<=30
medium yes excellent
yes
31…40 medium
no excellent
yes
31…40 high
yes fair
yes
>40
medium
no excellent
no
❑The data set follows an example of Quinlan’s
ID3 (Playing Tennis)
❑Resulting tree:
age?
<=30
31..40
overcast
student?
no
no
yes
yes
yes
>40
credit rating?
excellent
fair
yes
9
DECISION TREE
• Algoritma dasar (greedy)
• Pohon dibangun dengan cara membagi data secara rekursif topdown
• Pada awalnya, semua data training dimasukkan ke root
• Atribut bersifat kategorik (jika bernilai kontinu, atribut tersebut
didiskretisasi terlebih dahulu)
• Data dipartisi secara rekursif berdasarkan atribut yang dipilih
• Atribut uji dipilih berdasarkan ukuran heuristik atau statistik
(misalnya, information gain)
• Kondisi untuk menghentikan partisi
• Semua data untuk simpul tertentu milik kelas yang sama
• Tidak ada atribut yang tersisa untuk partisi lebih lanjut –
majority voting digunakan untuk mengklasifikasikan daun
• Tidak ada data yang tersisa
10
UKURAN ENTROPY
m=2
11
Attribute Selection Measure: Information Gain
(Algoritma ID3)
◼
Select the attribute with the highest information gain
◼
Let pi be the probability that an arbitrary tuple in D belongs to
class Ci, estimated by |Ci, D|/|D|
◼
Expected information (entropy) needed to classify a tuple in D:
m
Info( D) = − pi log 2 ( pi )
i =1
Information needed (after using A to split D into v partitions) to
classify D:
v | D |
j
Info A ( D) =
Info( D j )
j =1 | D |
◼ Information gained by branching on attribute A
◼
Gain(A) = Info(D) − Info A(D)
Contoh
5
4
Infoage ( D) =
I (2,3) +
I (4,0)
14
14
Class N: buys_computer = “no”
5
9
9
5
5
Info( D) = I (9,5) = − log 2 ( ) − log 2 ( ) =0.940
+
I (3,2) = 0.694
14
14 14
14
14
age
pi
ni I(pi, ni)
5
means “age <=30” has 5 out of 14
I (2,3)
<=30
2
3 0.971
14
samples, with 2 yes’es and 3 no’s.
Class P: buys_computer = “yes”
31…40
>40
age
<=30
<=30
31…40
>40
>40
>40
31…40
<=30
<=30
>40
<=30
31…40
31…40
>40
4
3
0 0
2 0.971
income student credit_rating
high
no
fair
high
no
excellent
high
no
fair
medium
no
fair
low
yes fair
low
yes excellent
low
yes excellent
medium
no
fair
low
yes fair
medium
yes fair
medium
yes excellent
medium
no
excellent
high
yes fair
medium
no
excellent
buys_computer
no
no
yes
yes
yes
no
yes
no
yes
yes
yes
yes
yes
no
Hence
Gain(age) = Info( D) − Infoage ( D) = 0.246
Similarly,
Gain(income) = 0.029
Gain( student) = 0.151
Gain(credit _ rating ) = 0.048
13
QUESTIONS?