Anda di halaman 1dari 39

KLASIFIKASI

Data Mining IKG3N3 & CDG4K3


Fakultas Informatika – Telkom University

1 2/18/2019
Pokok Bahasan

Definisi Klasifikasi
Langkah-langkah Klasifikasi
Contoh Task Klasifikasi
Teknik Klasifikasi
Klasifikasi berdasarkan induksi tree

2/18/2019
Definisi Klasifikasi

Terdapat sejumlah record (training set )


3

–Tiap record terdiri dari sejumlah atribut dan


salah satunya merupakan atribut kelas /label.
Cari model untuk atribut kelas sebagai
fungsi nilai dari atribut lain.
Tujuannya: record yang belum diketahui
kelasnya akan diberi label seakurat
mungkin.
–Untuk mengetahui dan menEntukan tingkat akurasi
model maka digunakan test set.
–Biasanya dataset akan dibagi menjadi dua bagian yang
pertama untuk pembangunan model (training) dan yang
kedua sebagai data untuk memvalidasi model tersebut
(test set)
2 Langkah dalam Klasifikasi
4
1. Pembangunan Model: dengan
mendeskripsikan kelas yang sudah
ditentukan sebelumnya.
 Tiap tuple/sample diasumsikan termasuk dalam
salah satu kelas yang ditunjukkan oleh atribut kelas
 Tuple atau record yang digunakan untuk
pembangunan model disebut sebagai training set
 Model yang dihasilkan bisa berupa: rule klasifikasi,
decision trees, atau rumus matematika
2. Penggunaan Model: untuk mengklasifikasikan objek
yg selanjutnya atau yg belum diketahui kelasnya
 Perhitungan akurasi model
▪ Label test set yang sebenarnya akan dibandingkan dengan
hasil pelabelan test set dari penggunaan model
▪ Tingkat akurasi adalah persentase test set yang
terklasifikasi dengan benar oleh model
▪ Test set independen terhadap training set, jika tidak maka
kondisi over-fitting akan terjadi
 Jika akurasi dapat diterima, maka model bisa digunakan
untuk mengklasifikasikan data yang labelnya belum
diketahui
Proses Klasifikasi (1):
Pembangunan Model
6

Algoritma klasifikasi

Training
Data

NAMA GRADE YEARS TENURED Classifier


(Model)
Mike Assistant Prof 3 no
Mary Assistant Prof 7 yes
Bill Professor 2 yes
Jim Associate Prof 7 yes
IF rank = ‘professor’
Dave Assistant Prof 6 no
OR years > 6
Anne Associate Prof 3 no THEN tenured = ‘yes’
Proses Klasifikasi (2):
Penggunaan Model untuk Prediksi
7

Classifier

Testing
Data Unseen Data

(Jeff, Professor, 4)

NAME RANK YEARS TENURED


T om A ssistant P rof 2 no Tenured?
M erlisa A ssociate P rof 7 no
G eorge P rofessor 5 yes
Joseph A ssistant P rof 7 yes
Contoh Task Klasifikasi
8

 Memprediksi sel tumor jinak atau ganas

 Mengklasifikasikan transaksi kartu


kredit yang sah atau tidak

 Mengklasifikasikan struktur protein


sebagai alpha-helix, beta-sheet, atau
random coil

 Kategorisasi berita dalam finance,


weather, entertainment, sports, dll
Teknik Klasifikasi
9

Metode Berdasarkan Decision Tree


Metode Berdasarkan Rule
Memory based reasoning
Neural Networks
Naïve Bayes dan Bayesian Belief Networks
Support Vector Machines
KLASIFIKASI:
BERDASARAKANN
INDUKSI TREE
Fakultas Informatika – Telkom University

10 2/18/2019
Induksi Decision Tree
11

Algorithma:
–Algoritma Hunt’s (salah satu yang paling
awal)
–CART
–ID3, C4.5
–SLIQ,SPRINT
–dsb
Contoh Decision Tree
12

age income student credit_rating buys_computer Splitting Attributes


<=30 high no fair no age?
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes <=30 overcast
30..40 >40
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no student? yes credit rating?
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes no yes fair
excellent
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
no yes no yes
Training Data
Model: Decision Tree
Class
Contoh Lain Decision Tree
13

MarSt Single,
Married Divorced
Tid Refund Marital Taxable
Status Income Cheat
NO Refund
1 Yes Single 125K No
Yes No
2 No Married 100K No
3 No Single 70K No NO TaxInc
4 Yes Married 120K No < 80K > 80K
5 No Divorced 95K Yes
NO YES
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes
10
Task Klasifikasi
berdasarkan Decision Tree
14

Tid Attrib1 Attrib2 Attrib3 Class


Tree
1 Yes Large 125K No Induction
2 No Medium 100K No algorithm
3 No Small 70K No

4 Yes Medium 120K No


Induction
5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No Learn


8 No Small 85K Yes Model
9 No Medium 75K No

10 No Small 90K Yes


Model
10

Training Set
Apply
Tid Attrib1 Attrib2 Attrib3 Class
Model
11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?


Deduction
14 No Small 95K ?

15 No Large 67K ?
10

Test Set
Penggunaan Model
terhadap Test Data
15

Test Data
Start from the root of tree. Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES
Penggunaan Model
terhadap Test Data
16

Test Data
Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES
Penggunaan Model
terhadap Test Data
17

Test Data
Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES
Penggunaan Model
terhadap Test Data
18

Test Data
Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES
Penggunaan Model
terhadap Test Data
19

Test Data
Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married

TaxInc NO
< 80K > 80K

NO YES
Penggunaan Model
terhadap Test Data
20

Test Data
Refund Marital Taxable
Status Income Cheat

No Married 80K ?
Refund 10

Yes No

NO MarSt
Single, Divorced Married Assign Cheat to “No”

TaxInc NO
< 80K > 80K

NO YES
Induksi Tree
21

 Algoritma Dasar (algoritma greedy)


 Tree dibangun secara top-down recursive divide-and-conquer
 Awalnya, semua training examples sebagai root
 Atribut kategoris (jika kontinu, maka harus didiskritkan lebih
dulu)
 Examples dipartisi secara rekursif berdasarkan atribut
tertentu
 Atribut Test dipilih berdasarkan perhitungan heuristik atau
statistik (contoh: information gain)
 Kondisi untuk berhenti mempartisi:
 Semua samples di node tersebut merupakan kelas yang sama
 Tidak ada atribut lagi untuk dipartisi– majority voting
digunakan untuk mengklasifikasikan leaf
 Samples sudah habis
Bagaimana menentukan
kondisi test?
22

Tergantung pada tipe atribut


–Nominal
–Ordinal
–Kontinu

Tergantung jumlah cara untuk split


–2-way split
–Multi-way split
Splitting berdasar
Atribut Nominal
23

Multi-way split: jumlah partisi sesuai dengan


jumlah distinct values.
TipeMobil
Family Luxury
Sports

Binary split: membagi nilai menjadi 2 subset


dan mencari yang paling optimal
TipeMobil TipeMobil
{Sports, {Family,
Luxury} {Family} OR Luxury} {Sports}
Splitting berdasar
Atribut Ordinal
24

 Multi-way split: jumlah partisi sesuai dengan jumlah


distinct values.
Ukuran
Small Large
Medium

 Binary split: membagi nilai menjadi 2 subset dan


mencari yang paling optimal
 .
Ukuran atau Ukuran
{Small, {Medium,
{Large} Large} {Small}
Medium}

 Bagaimana split ini? {Small,


Ukuran
Large} {Medium}
Splitting berdasar
Atribut Kontinu
25

 Diskretisasimenjadi bentuk atribut


kategoris ordinal
▪ Static – discretize once at the beginning
▪ Dynamic – ranges bisa ditentukan dengan
cara equal interval bucketing, equal frequency
bucketingv(percentiles), atau clustering.

 Binary Decision: (A < v) or (A  v)


▪ memperhitungkan semua kemungkinan split
dan mencari yang paling baik
▪ Secara komputasi harus intensif
Splitting berdasar
Atribut Kontinu
26

Taxable Taxable
Income Income?
> 80K?
< 10K > 80K
Yes No

[10K,25K) [25K,50K) [50K,80K)

(i) Binary split (ii) Multi-way split


PELANGGAN KARTU PANGGILAN BLOK BONUS

A PRA SEDIKIT SEDANG T

B PASCA BANYAK SEDANG Y

V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


E PASCA CUKUP TINGGI Y

F PASCA CUKUP SEDANG Y

G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


Entropy : Keberbedaan, Keberagaman.
Information Gain : Ukuran efektivitas suatu
attribute dalam mengklasifikasikan data.
Gain Ratio : digunakan untuk mengatasi
kelemahan information gain -> jika atribut
memiliki nilai yang sangat bervarias.
PELANGGAN KARTU PANGGILAN BLOK BONUS

A PRA SEDIKIT SEDANG T

B PASCA BANYAK SEDANG Y Entropy(S) = -(8/11)log2(8/11)


–(3/11)log2(3/11)
V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


E PASCA CUKUP TINGGI Y
= 0.8454
F PASCA CUKUP SEDANG Y

G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


Information Gain :

 n 
GAIN  Entropy( p)  
k
Entropy(i ) 
i

 n 
split i 1
Entropy(S) = 0.8454
PELANGGAN KARTU PANGGILAN BLOK BONUS
Kartu / Panggilan / Blok
A PRA SEDIKIT SEDANG T

B PASCA BANYAK SEDANG Y Kartu : Pra, Pasca -> T(-),Y(+)


V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


S = [8+,3-], [S] = 11
E PASCA CUKUP TINGGI Y Spra = [2+,3-], Spra = 5
F PASCA CUKUP SEDANG Y Spasca = [6+,0], Spasca = 6
G PRA CUKUP SEDANG Y
Entropy(Spra) = -2/5log2(2/5) –
H PRA CUKUP RENDAH T
J PASCA SEDIKIT TINGGI Y
(3/5)log2(3/5) = 0.971
K PASCA BANYAK TINGGI Y Entropy(Spasca) = -(6/6)log2(6/6) –
L PASCA SEDIKIT RENDAH Y
(0/6)log2(0/6) = 0

Gain(S,Kartu) = Entropy(S) –
(5/11)Entropy(Spra) –
(6/11)Entropy(Spasca)
= 0.4040
PELANGGAN KARTU PANGGILAN BLOK BONUS
Gain(S,Kartu) = Entropy(S) –
(5/11)Entropy(Spra) –
A PRA SEDIKIT SEDANG T
(6/11)Entropy(Spasca)
B PASCA BANYAK SEDANG Y = 0.4040
V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


Gain(S,Panggilan = 0.0049
E PASCA CUKUP TINGGI Y

F PASCA CUKUP SEDANG Y Gain(S,Blok) = 0.2668


G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


PELANGGAN KARTU PANGGILAN BLOK BONUS

A PRA SEDIKIT SEDANG T

B PASCA BANYAK SEDANG Y

V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


E PASCA CUKUP TINGGI Y

F PASCA CUKUP SEDANG Y

G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


Entropy(S) = -(2/5)log2(2/5)-(3/5)log2(3/5)
PELANGGAN KARTU PANGGILAN BLOK BONUS = 0.971
A PRA SEDIKIT SEDANG T
Kartu / Panggilan / Blok
B PASCA BANYAK SEDANG Y
Panggilan : Banyak, Cukup, Sedikit -> T(-
V PRA BANYAK SEDANG Y
),Y(+)
D PRA BANYAK RENDAH T
E PASCA CUKUP TINGGI Y S = [2+,3-], [S] = 5
Sbanyak = [1+,1-], Sbanyak = 2
F PASCA CUKUP SEDANG Y Scukup = [1+,1-], Scukup = 2
G PRA CUKUP SEDANG Y
Ssedikit = [0+,1-], Ssedikit = 1

H PRA CUKUP RENDAH T Entropy(Sbanyak) = -1/2log2(1/2) –


J PASCA SEDIKIT TINGGI Y (1/2)log2(1/2) = 1
K PASCA BANYAK TINGGI Y Entropy(Scukup) = -(1/2)log2(1/2) –
L PASCA SEDIKIT RENDAH Y (1/2)log2(1/2) = 1
Entropy(Ssedikit) = -(0/1)log2(0/1) –
(1/1)log2(1/1) = 0

Gain(S,Panggilan) = Entropy(S) –
(2/5)Entropy(Sbanyak) – (2/5)Entropy(Scukup)
– (1/5)Enrtopy(Ssedikit)
= 0.1710
PELANGGAN KARTU PANGGILAN BLOK BONUS Gain(S,Panggilan) = Entropy(S) –
A PRA SEDIKIT SEDANG T
(2/5)Entropy(Sbanyak) – (2/5)Entropy(Scukup)
– (1/5)Enrtopy(Ssedikit)
B PASCA BANYAK SEDANG Y = 0.1710
V PRA BANYAK SEDANG Y
Gain(S,Blok) = 0.42
D PRA BANYAK RENDAH T
E PASCA CUKUP TINGGI Y

F PASCA CUKUP SEDANG Y

G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


PELANGGAN KARTU PANGGILAN BLOK BONUS

A PRA SEDIKIT SEDANG T

B PASCA BANYAK SEDANG Y

V PRA BANYAK SEDANG Y

D PRA BANYAK RENDAH T


E PASCA CUKUP TINGGI Y

F PASCA CUKUP SEDANG Y

G PRA CUKUP SEDANG Y

H PRA CUKUP RENDAH T


J PASCA SEDIKIT TINGGI Y
K PASCA BANYAK TINGGI Y

L PASCA SEDIKIT RENDAH Y


Metode Berdasarkan Decision Tree
Metode Berdasarkan Rule
Memory based reasoning
Neural Networks
Naïve Bayes dan Bayesian Belief Networks
Support Vector Machines

Anda mungkin juga menyukai