• Tidak ada hasil yang ditemukan

Rule-Based Classifier. Data Mining Pengklasifikasian: Rule-based Classifier. Catatan Kuliah untuk Bab 4. Pengantar Data Mining

N/A
N/A
Protected

Academic year: 2021

Membagikan "Rule-Based Classifier. Data Mining Pengklasifikasian: Rule-based Classifier. Catatan Kuliah untuk Bab 4. Pengantar Data Mining"

Copied!
9
0
0

Teks penuh

(1)

Data Mining

Pengklasifikasian: Rule-based Classifier

Catatan Kuliah untuk Bab 4

Pengantar Data Mining

oleh

Tan, Steinbach, Kumar

dialihbahasakan oleh

Tim Pengajar Konsep Data Mining

Universitas Gunadarma

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 1 © Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 2

Rule-Based Classifier

z

Mengklasifikasikan record dengan menggunakan

koleksi aturan “if…then…”

z

Aturan/Rule: (Kondisi) → y

dimana

‹

Kondisi adalah konjungsi atribut-atribut

‹

y adalah label kelas

LHS: aturan antecedent atau kondisi

RHS: rule consequent

Contoh aturan pengklasifikasian:

‹

(Blood Type=Warm) ∧ (Lay Eggs=Yes) → Birds

‹

(Taxable Income < 50K) ∧ (Refund=Yes) → Evade=No

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 3

Rule-based Classifier (Contoh)

R1: (Give Birth = no) ∧ (Can Fly = yes) → Birds

R2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes

R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals

R4: (Give Birth = no) ∧ (Can Fly = no) → Reptiles

R5: (Live in Water = sometimes) → Amphibians

Name Blood Type Give Birth Can Fly Live in Water Class human warm yes no no mammals python cold no no no reptiles salmon cold no no yes fishes whale warm yes no yes mammals frog cold no no sometimes amphibians komodo cold no no no reptiles

bat warm yes yes no mammals

pigeon warm no yes no birds

cat warm yes no no mammals

leopard shark cold yes no yes fishes turtle cold no no sometimes reptiles penguin warm no no sometimes birds porcupine warm yes no no mammals

eel cold no no yes fishes

salamander cold no no sometimes amphibians gila monster cold no no no reptiles platypus warm no no no mammals

owl warm no yes no birds

dolphin warm yes no yes mammals

eagle warm no yes no birds

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 4

Aplikasi dari Rule-Based Classifier

z

Aturan r menutupi (

covers)

contoh x ijika atribut

dari contoh tersebut memenuhi kondisi dari aturan

itu

R1: (Give Birth = no) ∧ (Can Fly = yes) → Birds

R2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes

R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals

R4: (Give Birth = no) ∧ (Can Fly = no) → Reptiles

R5: (Live in Water = sometimes) → Amphibians

The rule R1 covers a hawk => Bird

The rule R3 covers the grizzly bear => Mammal

Name

Blood Type

Give Birth

Can Fly

Live in Water

Class

hawk

warm

no

yes

no

?

grizzly bear

warm

yes

no

no

?

(2)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 5

Lingkup Aturan dan Keakurasiannya

z

Lingkup aturan:

Pecahkan

record-record yang

memenuhi

antecedent aturan

z

Keakurasian aturan:

Pecahkan

record-record yang

memenuhi

antecedent dan

consequent aturan

Tid Refund Marital

Status

Taxable

Income Class

1

Yes

Single

125K

No

2

No

Married

100K

No

3

No

Single

70K

No

4

Yes

Married

120K

No

5

No

Divorced 95K

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

(Status=Single)

→ No

Coverage = 40%, Accuracy = 50%

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 6

Cara kerja Rule-based Classifier

R1: (Give Birth = no) ∧ (Can Fly = yes) → Birds

R2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes

R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals

R4: (Give Birth = no) ∧ (Can Fly = no) → Reptiles

R5: (Live in Water = sometimes) → Amphibians

Lemur memicu aturan R3, maka ia diklasifikasikan sebagai mammal

Turtle memicu R4 dan R5

Dogfish shark tidak memicu satu aturan pun

Name Blood Type Give Birth Can Fly Live in Water Class

lemur

warm

yes

no

no

?

turtle

cold

no

no

sometimes

?

dogfish shark

cold

yes

no

yes

?

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 7

Karakteristik Rule-Based Classifier

z

Aturan Mutually exclusive

Pengklasifikasi (Classifier) mengandung aturan

mutually exclusive jika aturan-aturan independen satu

sama lain

Setiap record paling banyak dilingkupi oleh satu

aturan

z

Aturan Exhaustive

Classifier memiliki lingkupan exhaustive jika mencatat

untuk setiap kemungkinan kombinasi nilai atribut

Setiap record paling sedikit dilingkupi oleh satu aturan

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 8

Dari Pohon Keputusan ke Aturan (Rules)

YES

YES

NO

NO

NO

NO

NO

NO

Yes

No

{Married}

{Single,

Divorced}

< 80K

> 80K

Taxable

Income

Marita l

Status

Refund

Aturan bersifat mutually exclusive dan

exhaustive

Himpunan atturan mengandung Himpunan

aturan informasi sebanyak pada Pohon

Aturan Pengklasifikasian

(Refund=Yes) ==> No

(Refund=No, Marital Status={Single,Divorced}, Taxable Income<80K) ==> No (Refund=No, Marital Status={Single,Divorced}, Taxable Income>80K) ==> Yes (Refund=No, Marital Status={Married}) ==> No

(3)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 9

Suatu Aturan dapat disederhanakan

YES

YES

NO

NO

NO

NO

NO

NO

Yes

No

{Married}

{Single,

Divorced}

< 80K

> 80K

Taxable

Income

Marita l

Status

Refund

Tid Refund Marital

Status

Taxable

Income Cheat

1

Yes

Single

125K

No

2

No

Married

100K

No

3

No

Single

70K

No

4

Yes

Married

120K

No

5

No

Divorced 95K

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

Aturan Awal: (Refund=No)

∧ (Status=Married) → No

Aturan yang disederhanakan: (Status=Married)

→ No

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 10

Efek dari Penyederhanaan Aturan

z

Aturan tidak lagi bersifat mutually exclusive

Satu record dapat memicu lebih dari satu aturan

Solusi?

‹

Himpunan aturan terurut (Ordered rule set)

‹

Himpunan aturan terurut Unordered rule set – menggunakan

skema voting

z

Aturan tidak lagi bersifat exhaustive

Satu record dapat tidak memicu satupun aturan

Solusi?

‹

Menggunakan kelas default

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 11

Himpunan Aturan Terurut

z

Aturan dirangking terurut sesuai dengan

prioritasnya

Himpunan aturan terurut dikenal sebagai daftar keputusan

z

Ketika record test disajikan ke dalam

Maka ia akan ditugaskan ke label kelas dari aturan dengan

ranking tertinggi yang telah dipicu

Jika tidak ada satupun aturan yang dikeluarkan, maka akan

ditugaskan ke kelas default

R1: (Give Birth = no) ∧ (Can Fly = yes) → Birds R2: (Give Birth = no) ∧ (Live in Water = yes) → Fishes R3: (Give Birth = yes) ∧ (Blood Type = warm) → Mammals R4: (Give Birth = no) ∧ (Can Fly = no) → Reptiles R5: (Live in Water = sometimes) → Amphibians

Name Blood Type Give Birth Can Fly Live in Water Class

turtle

cold

no

no

sometimes

?

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 12

Skema Pengurutan Aturan

z

Pengurutan berbasis Aturan (Rule-based ordering)

Aturan individual di rangking berdasarkan pada kualitasnya

z

Pengurutan berbasis Kelas (Class-based ordering)

Aturan yang dimiliki oleh kelas yang sama akan muncul

bersamaan

(4)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 13

Membangun Aturan Pengklasifikasian

z

Metode Langsung (Direct Method):

‹

Mengekstrak aturan langsung dari data

‹

misal: RIPPER, CN2, Holte’s 1R

z

Metode Tidak Langsung (Indirect Method):

‹

Ekstraksikan aturan dari model klasifikasi lainnya

(misal: pohon keputusan, neural networks, dll).

‹

misal: aturan C4.5

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 14

Metode Langsung: Sequential Covering

1.

Mulai dari aturan hampa

2.

Kembangkan aturan menggunakan fungsi

Learn-One-Rule

3.

Hilangkan record training yang dilingkupi oleh

aturan

4.

Ulangi langkah (2) dan (3) hingga mencapai

kriteria berhenti

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 15

Contoh

Sequential Covering

(i) Data asal

(ii) Langkah 1

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 16

Contoh of Sequential Covering…

(iii) Langkah 2

R1

(iv) Langkah 3

R1

(5)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 17

Aspek-aspek dari Sequential Covering

z

Pertumbuhan Aturan Rule Growing

z

Instance Elimination

z

Evaluasi Aturan (Rule Evaluation)

z

Kriteria Berhenti (Stopping Criterion)

z

Pemangkasan Aturan (Rule Pruning)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 18

Rule Growing

z

Dua strategi umum

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 19

Rule Growing (Contoh)

z

Algoritma CN2 :

Mulai dari konjungsi hampa: {}

Tambahkan konjungsi yang meminimalkan pengukuran entropi

: {A}, {A,B}, …

Tentutkan aturan konsekwen dengan mengambil kelas mayoritas/besar

dari contoh yang dilingkupi aturan

z

Algoritma RIPPER:

Mulai dari aturan hampa: {} => class

Tambahkan konjungsi yang memaksimumkan pengukuran FOIL’s

information gain :

‹

R0: {} => class (initial rule)

‹

R1: {A} => class (rule after adding conjunct)

‹

Gain(R0, R1) = t [ log (p1/(p1+n1)) – log (p0/(p0 + n0)) ]

‹

where t: number of positive instances covered by both R0 and R1

p0: number of positive instances covered by R0

n0: number of negative instances covered by R0

p1: number of positive instances covered by R1

n1: number of negative instances covered by R1

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 20

Instance Elimination

z

Mengapa kita memerlukan

eliminate instances?

Jika tidak maka aturan

selanjutnya akan identik

dengan aturan sebelumnya

z

Mengapa kita menghilangkan

positive instances?

Untuk memastikan bahwa

aturan selanjutnya akan

berbeda

z

Mengapa kita menghilangkan

negative instances?

Untuk mencegah

underestimating keakurasian

aturan

Untuk Memmbadingkan

aturan R2 dan R3 pada

diagram

(6)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 21

Rule Evaluation

z

Metrik:

Accuracy

Laplace

M-estimate

k

n

n

c

+

+

=

1

k

n

kp

n

c

+

+

=

n : Number of instances

covered by rule

n

c

: Number of instances

covered by rule

k : Number of classes

p : Prior probability

n

n

c

=

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 22

Stopping Criterion and Rule Pruning

z

Stopping criterion

Menghitung hasil yang didapat (gain)

Jika gain tidak signifikan, maka jangan perhatikan

aturan yang bar

z

Rule Pruning

Serupa dengan pasca pemangkasan (post-pruning)

pada pohon keputusan

Mereduksi Error Pruning:

‹

Hilangkan satu konjungsi dalam aturan

‹

Bandingkan tingkat error pada himpunan validasi sebelum

dan sesudah pruning

‹

Jika error berubah, lakukan pemangkasan pada konjungsi

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 23

Kesimpulan Metode Langsung

z

Kembangkan aturan tunggal

z

Menghilangkan Instances dari aturan

z

Lakukan Pemangkasan aturan (jika diperlukan)

z

Tambah aturan ke dalam himpunan Current Rule

z

Ulangi langkah-langkah sebelumnya

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 24

Metode Langsung : RIPPER

z

Untuk permasalahan 2-kelas, pilih satu kelas sebagai

kelas positif dan lainnya sebagai kelas negatif

Pelajari aturan untuk kelas positif

Kelas negatif sebagai kelas default

z

Untuk permasalahan banyak-kelas

Urutkan kelas menurut kelaziman kelas meningkat

(bagian dari instances yang dimiliki oleh kelas

tertentu)

Pelajari himpunan aturan untuk kelas pertama

(lakukan pertama kali) dan perlakukan sisanya

sebagai kelas negatif

Ulangi dengan kelas terkecil selanjutnya sebagai

kelas positif

(7)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 25

Metode Langsung : RIPPER

z

Mengembangkan aturan:

Mulai dari aturan hampa

Tambah konjungsi apabila dapat merubah FOIL’s

information gain

Berhenti ketika aturan tidak lagi melingkupi

conoth-contoh negatif

Pangkas aturan segera, menggunakan incremental

reduced error pruning

Mengukur nilai pruning: v = (p-n)/(p+n)

‹

p: banyaknya contoh positif yang dilingkupi aturan dalam

himpinan validasi

‹

n: banyaknya contoh negative yang dilingkupi aturan dalam

himpinan validasi

Metode Pangkas: Hapus semua barisan akhir dari

kondisi yang memaksimumkan v

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 26

Metode Langsung : RIPPER

z

Membangun himpunan Aturan:

Menggunakan algoritma sequential covering

‹

Cari aturan terbaik yang melingkupi himpunan

sekarang/terbaru dari contoh positif

‹

Eliminasi contoh positif dan negatif yang dilingkupi

aturan

Pada setiap aturan ditambahkan ke dalam

himpunan aturan, maka hitung panjang

deskripi yang baru

‹

hentikan penambahan aturan baru ketika panjang

deskripsi yang baru lebih panjang d bits dibanding

panjang deskripsi terkecil yang pernah didapat

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 27

Metode Langsung : RIPPER

z

Optimalkan himpunan aturan:

Untuk setiap aturan r dalam himpunan aturan R

‹

Pertimbangkan 2 aturan alternatif:

– Aturan Penggantian (r*): mengembagkan aturan baru dari mula

– Aturan Revisi (r’): tambahkan konjungsi untuk memperluas aturanadd

r

‹

Bandingkan himpunan aturan r terhadap himpunan aturan r*

dan r’

‹

Pilih himpunan aturan yang meminimumkan prinsip MDL

Ulangi pembangkitan aturan dan pengoptimalan

aturan untuk sisa-sisa contoh positif

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 28

(8)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 29

Metode Tidak Langsung : C4.5rules

z

Ekstrak aturan dari pohon aturan yang tidak

dipangkas (unprunned)

z

Untuk tiap aturan, r: A → y,

Pertimbangkan aturan alternatif r’: A’

→ y

diman A’ didapat dengan memindahkan satu

konjungsi di A

Bandingkan tingkat error pessimistic untuk r

terhadap semua r

Pangkas jika satu dari rmempunyai tingkat

error pessimistic lebih rendah

Ulangi sampai kita tidak dapat merubah error

generalisasi

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 30

Metode Tidak Langsung : C4.5rules

z

Lakukan pengurutan subset dari aturan

(pengurutan kelas)

Setiap subset adalah koleksi aturan-aturan

dengan aturan selanjutnya yang sama (kelas)

Hitung panjang deskripsi untuk setiapsubset

‹

Panjang deskripsi = L(error) + g L(model)

‹

g adalah parameter yang dibutuhkan kedalam

akun kemunculan dari atribut redundan dalam

himpunan aturan (nilai default = 0.5)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 31

Contoh

Name Give Birth Lay Eggs Can Fly Live in Water Have Legs Class

human

yes

no

no

no

yes

mammals

python

no

yes

no

no

no

reptiles

salmon

no

yes

no

yes

no

fishes

whale

yes

no

no

yes

no

mammals

frog

no

yes

no

sometimes yes

amphibians

komodo

no

yes

no

no

yes

reptiles

bat

yes

no

yes

no

yes

mammals

pigeon

no

yes

yes

no

yes

birds

cat

yes

no

no

no

yes

mammals

leopard shark yes

no

no

yes

no

fishes

turtle

no

yes

no

sometimes yes

reptiles

penguin

no

yes

no

sometimes yes

birds

porcupine

yes

no

no

no

yes

mammals

eel

no

yes

no

yes

no

fishes

salamander

no

yes

no

sometimes yes

amphibians

gila monster

no

yes

no

no

yes

reptiles

platypus

no

yes

no

no

yes

mammals

owl

no

yes

yes

no

yes

birds

dolphin

yes

no

no

yes

no

mammals

eagle

no

yes

yes

no

yes

birds

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 32

C4.5 versus C4.5rules versus RIPPER

C4.5rules:

(Give Birth=No, Can Fly=Yes) → Birds (Give Birth=No, Live in Water=Yes) → Fishes (Give Birth=Yes) → Mammals

(Give Birth=No, Can Fly=No, Live in Water=No) → Reptiles ( ) → Amphibians

Give

Birth?

Live In

Water?

Can

Fly?

Mammals

Fishes

Amphibians

Birds

Reptiles

Yes

No

Yes

Sometimes

No

Yes

No

RIPPER:

(Live in Water=Yes) → Fishes (Have Legs=No) → Reptiles

(Give Birth=No, Can Fly=No, Live In Water=No) → Reptiles

(Can Fly=Yes,Give Birth=No) → Birds () → Mammals

(9)

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 33

C4.5 versus C4.5rules versus RIPPER

PREDICT ED CLASS

Amphibians Fishes

Reptiles Birds

M ammals

ACT UAL Amphibians

0

0

0

0

2

CLASS

Fishes

0

3

0

0

0

Reptiles

0

0

3

0

1

Birds

0

0

1

2

1

M ammals

0

2

1

0

4

PREDICT ED CLASS

Amphibians Fishes

Reptiles Birds

M ammals

ACT UAL Amphibians

2

0

0

0

0

CLASS

Fishes

0

2

0

0

1

Reptiles

1

0

3

0

0

Birds

1

0

0

3

0

M ammals

0

0

1

0

6

C4.5 dan C4.5rules:

RIPPER:

© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 34

Keuntungan dari Rule-Based Classifiers

z

Sangat ekspresif seperti pohon keputusan

z

Mudah diartikan/terjemahkan

z

Mudah untuk dibangkitkan

z

Dapat mengklasifikasikan instances baru dengan

cepat

z

Kinerjanya dapat dibandingkan dengan pohon

keputusan

Referensi

Dokumen terkait