babiv_klasifikasi_rulebasedclassifier
TRANSCRIPT
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
1/9
Data MiningPengklasifikasian: Rule-based Classifier
Catatan Kuliah untuk Bab 4
Pengantar Data Mining
oleh
Tan, Steinbach, Kumar
dialihbahasakan oleh
Tim Pengajar Konsep Data Mining
Universitas Gunadarma
©Ta n,Stei nb ach, Kum ar Pen ga ntarD ata M in in g 4 /1 8/20 04 1 ©Ta n,Stei nb ach, Kum ar Pen ga ntarD ata M in in g 4 /1 8/20 04 2
Rule-Based Classifier
Mengklasifikasikan record dengan menggunakan
koleksi aturan “if…then…”
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 mammalspython cold no no no reptilessalmon cold no no yes fisheswhale warm yes no yes mammalsfrog cold no no sometimes a mphibianskomodo cold no no no reptilesbat warm yes yes no mammalspigeon warm no yes no birdscat warm yes no no mammalsleopard shark cold yes no yes fishesturtle cold no no sometimes reptilespenguin warm no no sometimes birdsporcupine warm yes no no mammalseel cold no no yes fishessalamander cold no no sometimes amphibiansgila monster cold no no no reptilesplatypus warm no no no mammalsowl warm no yes no birdsdolphin warm yes no yes mammalseagle warm no yes no birds
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 4
Aplikasi dari Rule-Based Classifier
Aturan r menutupi (covers) contoh x ijika atribut
dari contoh tersebut memenuhi kondisi dari aturan
ituR1: (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 ?
http://staffsite.gunadarama.ac.id/didi/
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
2/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 5
Lingkup Aturan dan Keakurasiannya
Lingkup aturan:
– Pecahkan record-
record yang
memenuhi
antecedent aturan
Keakurasian aturan:
– Pecahkan record-
record yang
memenuhi
antecedent dan
consequent aturan
Tid Refund MaritalStatus
TaxableIncome 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 Yes1 0
(Status=Single) No
Coverage = 40%, Accu racy = 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
Aturan Mutually exclusive
– Pengklasifikasi (Classifier) mengandung aturan
mutually exclusive jika aturan-aturan independen satu
sama lain
– Setiap record paling banyak dilingkupi oleh satu
aturan
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)
YESYESNONO
NONO
NONO
Yes No
{Married}{Single,
Divorced}
< 80K > 80K
Taxable
Income
Marital
Status
Refund
Atu ran bers ifat mutually exclusive dan
exhaustiveHimpunan atturan mengandung Himpunan
aturan informasi sebanyak pada Pohon
Atu ran Pengk lasi fik asian
(Refund=Yes) ==> No
(Refund=No, Marital Status={Single,Divorced},
Taxable Income No
(Refund=No, Marital Status={Single,Divorced},
Taxable Income>80K) ==> Yes
(Refund=No, Marital Status={Married}) ==> No
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
3/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 9
Suatu Aturan dapat disederhanakan
YESYESNONO
NONO
NONO
Yes No
{Married}{Single,
Divorced}
< 80K > 80K
Taxable
Income
Marital
Status
Refund
Tid Refund MaritalStatus
TaxableIncome 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 Yes10
Atu ran Awal : (Refund=No) ∧ (Status=Married) No
Atu ran yang dis ederh anakan : (Status=Marr ied) No
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 10
Efek dari Penyederhanaan Aturan
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
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
Aturan dirangking terurut sesuai dengan
prioritasnya – Himpunan aturan terurut dikenal sebagai daftar keputusan
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 defaultR1: (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
Pengurutan berbasis Aturan (Rule-based ordering) – Aturan individual di rangking berdasarkan pada kualitasnya
Pengurutan berbasis Kelas (Class-based ordering) – Aturan yang dimiliki oleh kelas yang sama akan muncul
bersamaan
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
4/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 13
Membangun Aturan Pengklasifikasian
Metode Langsung (Direct Method):
Mengekstrak aturan langsung dari data
misal: RIPPER, CN2, Holte’s 1R
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
R2
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
5/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 17
Aspek-aspek dari Sequential Covering
Pertumbuhan Aturan Rule Growing
Instance Elimination
Evaluasi Aturan (Rule Evaluation)
Kriteria Berhenti (Stopping Criterion)
Pemangkasan Aturan (Rule Pruning)
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 18
Rule Growing
Dua strategi umum
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 19
Rule Growing (Contoh)
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
Algoritma RIPPER: – Mulai dari aturan hampa: {} => class
– Tambahkan konjungsi yang memaksimumkan pengukuran FOIL’sinformation 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 R0n0: 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
Mengapa kita memerlukaneliminate instances?
– Jika tidak maka aturanselanjutnya akan identikdengan aturan sebelumnya
Mengapa kita menghilangkanpositive instances?
– Untuk memastikan bahwaaturan selanjutnya akanberbeda
Mengapa kita menghilangkannegative instances?
– Untuk mencegahunderestimating keakurasian
aturan – Untuk Memmbadingkan
aturan R2 dan R3 padadiagram
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
6/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 21
Rule Evaluation
Metrik:
– Accuracy
– Laplace
– M-estimate
k n
nc
+
+=
1
k n
kpnc
+
+=
n : Number of instances
covered by rule
nc : Number of instances
covered by rule
k : Number of classes
p : Prior probability
n
nc=
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 22
Stopping Criterion and Rule Pruning
Stopping criterion
– Menghitung hasil yang didapat (gain)
– Jika gain tidak signifikan, maka jangan perhatikanaturan yang bar
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 sebelumdan sesudah pruning
Jika error berubah, lakukan pemangkasan pada konjungsi
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 23
Kesimpulan Metode Langsung
Kembangkan aturan tunggal
Menghilangkan Instances dari aturan
Lakukan Pemangkasan aturan (jika diperlukan)
Tambah aturan ke dalam himpunan Current Rule
Ulangi langkah-langkah sebelumnya
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 24
Metode Langsung : RIPPER
Untuk permasalahan 2-kelas, pilih satu kelas sebagaikelas positif dan lainnya sebagai kelas negatif
– Pelajari aturan untuk kelas positif
– Kelas negatif sebagai kelas default
Untuk permasalahan banyak-kelas
– Urutkan kelas menurut kelaziman kelas meningkat(bagian dari instances yang dimiliki oleh kelastertentu)
– Pelajari himpunan aturan untuk kelas pertama(lakukan pertama kali) dan perlakukan sisanyasebagai kelas negatif
– Ulangi dengan kelas terkecil selanjutnya sebagaikelas positif
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
7/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 25
Metode Langsung : RIPPER
Mengembangkan aturan:
– Mulai dari aturan hampa
– Tambah konjungsi apabila dapat merubah FOIL’sinformation gain
– Berhenti ketika aturan tidak lagi melingkupi conoth-contoh negatif
– Pangkas aturan segera, menggunakan incrementalreduced 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 darikondisi yang memaksimumkan v
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 26
Metode Langsung : RIPPER
Membangun himpunan Aturan:
– Menggunakan algoritma sequential covering
Cari aturan terbaik yang melingkupi himpunansekarang/terbaru dari contoh positif
Eliminasi contoh positif dan negatif yang dilingkupiaturan
– Pada setiap aturan ditambahkan ke dalamhimpunan aturan, maka hitung panjangdeskripi yang baru
hentikan penambahan aturan baru ketika panjangdeskripsi yang baru lebih panjang d bits dibandingpanjang deskripsi terkecil yang pernah didapat
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 27
Metode Langsung : RIPPER
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
Metode Tidak Langsung
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
8/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 29
Metode Tidak Langsung : C4.5rules
Ekstrak aturan dari pohon aturan yang tidakdipangkas (unprunned)
Untuk tiap aturan, r: A y,
– Pertimbangkan aturan alternatif r’: A’ ydiman A’ didapat dengan memindahkan satukonjungsi di A
– Bandingkan tingkat error pessimistic untuk rterhadap semua r
– Pangkas jika satu dari rmempunyai tingkaterror pessimistic lebih rendah
– Ulangi sampai kita tidak dapat merubah errorgeneralisasi
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 30
Metode Tidak Langsung : C4.5rules
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
N am e G iv e B ir th L ay E gg s C an F ly L iv e i n W at er H av e L eg s C la ss
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 mammalsowl 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 InWater?
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
-
8/19/2019 BabIV_Klasifikasi_RulebasedClassifier
9/9
© Tan,Steinbach, Kumar Pengantar Data Mining 4/18/2004 33
C4.5 versus C4.5rules versus RIPPER
PREDICTED CLASS
Amp hi bi ans Fis hes Rept ile s Bi rd s Mam ma ls
ACT UAL Am ph ib ian s 0 0 0 0 2
C L AS S F ish e s 0 3 0 0 0
Reptiles 0 0 3 0 1
Birds 0 0 1 2 1
Mammals 0 2 1 0 4
PREDICTED CLASS
Amp hi bi ans Fis hes Rept ile s Bi rd s Mam ma ls
ACT UAL Am ph ib ian s 2 0 0 0 0
C L AS S F ish e s 0 2 0 0 1
Reptiles 1 0 3 0 0
Birds 1 0 0 3 0
Mammals 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
Sangat ekspresif seperti pohon keputusan
Mudah diartikan/terjemahkan
Mudah untuk dibangkitkan
Dapat mengklasifikasikan instances baru dengan
cepat
Kinerjanya dapat dibandingkan dengan pohon
keputusan