babiv_klasifikasi_rulebasedclassifier

Upload: muhammad-rizki-pratama

Post on 07-Jul-2018

214 views

Category:

Documents


0 download

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