Klasifikasi Data Mining Berdasarkan Rule
Klasifikasi Rule Mengklasifikasikan record dengan aturan/rule “if…then…” Rule: (kondisi) y Di mana kondisi adalah konjungsi atribut Y = label kelas LHS: rule antecedent atau kondisi RHS: rule consequent Contoh Rule Klasifikasi: {Src IP=206.163.27.95, Dest Port=139, Bytes[150, 200)} {ATTACK} (Taxable Income < 50K) (Refund=Yes) Evade=No
Contoh 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
Aplikasi Rule Based Classifier Rule r covers instance x jika atribute instance memenuhi kondisi pada rule 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 Rule R1 covers a hawk => Bird Rule R3 covers the grizzly bear => Mammal
Rule Coverage dan Akurasi Coverage Rule: Bagian record yang memenuhi antecedent rule Akurasi Rule: Bagian record yang memenuhi antecedent rule dan consequent rule (Status=Single) No Coverage = 40%, Accuracy = 50%
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 A lemur sesuai dengan rule R3, maka diklasifikasikan sebagai mammal A turtle sesuai dengan rule R4 dan R5 A dogfish shark triggers none of the rules
Karakteristik Rule-Based Classifier Mutually exclusive rules Classifier memiliki rule yang mutually exclusive rules jika rules independent satu sama lain Tiap record dicover sebanyaknya oleh satu rule Exhaustive rules Classifier memiliki rule yang exhaustive coverage jika memiliki kombinasi tiap nilai atribut Tiap record dicover sedikitnya satu rule
Dari Decision Trees ke Rules Rules mutually exclusive dan exhaustive Rule memuat informasi yang sama dengan decision tree
Rules Bisa Disederhanakan Initial Rule: (Refund=No) (Status=Married) No Simplified Rule: (Status=Married) No
Efek Penyederhanaan Rule Rules tidak lagi mutually exclusive Satu record akan mentrigger lebih dari satu rule Solusi? Ordered rule set Unordered rule set – gunakan skema voting Rules tidak lagi exhaustive Sebuah record mungkin tidak tercover oleh satu rule pun Gunakan kelas default
Keuntungan Rule-Based Classifiers Sama ekspresifnya dengan decision tree mudah untuk diinterpretasikan Mudah untuk digenerate Dapat mengklasifikasikan record baru dengan cepat Performansinya sebanding dengan decision trees
Instance Based dan Bayesian Classifier Klasifikasi Part 3 Instance Based dan Bayesian Classifier
Instance-Based Classifiers training records disimpan training records digunakan untuk memprediksi label kelas cases yang belum diketahui sebelumnya
Instance Based Classifiers Contoh: Rote-learner seluruh training data akan disimpan dan memproses klasifikasi jika dan hanya jika nilai-nilai atribut pada record tsb benar-benar sama dengan salah satu training examples Nearest neighbor menggunakan k point terdekat (nearest neighbors) untuk melakukan klasifikasi
Nearest Neighbor Classifiers Ide Dasar: If it walks like a duck, quacks like a duck, then it’s probably a duck
Nearest-Neighbor Classifiers Membutuhkan 3 hal Sejumlah record yang tersimpan Metrik jarak untuk mengukur jarak antar record Nilai k, jumlah nearest neighbors yang harus diambil Untuk mengklasifikasikan record yg belum diketahui: Hitung jaraknya terhadap training record yang lain Identifikasi k nearest neighbors Gunakan label class dari nearest neighbors untuk menentukan label class dari yg belum diketahui (misal pakai skema voting mayoritas)
Definisi Nearest Neighbor K-nearest neighbor dari record x adalah sejumlah k data point yang memiliki jarak terkecil terhadap x
1 nearest-neighbor Voronoi Diagram
Klasifikasi Nearest Neighbor Hitung jarak antar dua point Euclidean distance Tentukan kelas dari daftar nearest neighbor Tentukan dengan voting mayoritas label class dari sejumlah k-nearest neighbors Pembobotan berdasarkan jarak weight factor, w = 1/d2
Klasifikasi Nearest Neighbor.. Tentukan jumlah k, perhatikan: Jika k terlalu kecil, maka hati-hati terhadap kemungkinan noise Jika k terlalu besar, tetangga yang ada kemungkinan memuat point kelas yang lainnya
Klasifikasi Nearest Neighbor… Masalah penskalaan Atribute mungkin harus diskalakan untuk menghindari perhitungan jarak yang akan didominasi oleh satu atribute Contoh: tinggi seseorang mungkin bervariasi antara 1.5m sampai 1.8m BB orang mungkin bervariasi antara 40 – 130 kg Pendapatan orang mungkin bervariasi antara 500rb hingga puluhan/ratusan juta
Klasifikasi Nearest Neighbor…. Masalah dengan Euclidean measure: Dimensi data tinggi curse of dimensionality Dapat menghasilkan perhitungan yang intuitif 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 vs 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 d = 1.4142 d = 1.4142 Solusi: Normalisasi vector menjadi unit length
Contoh Algoritma PEBLS KNN FCNN (Fast Condensed NN) Instance Based Learning (IBL) 1991
Bayes Classifier Framework probabilistik untuk penyelesaian masalah klasifikasi Probabilitas Kondisional: Teorema Bayes :
Kenapa Pakai Bayesian Classifier? Probabilistic learning Incremental Probabilistic prediction: prediksi multi hipotesis Standard Probabilistic learning: Calculate explicit probabilities for hypothesis, among the most practical approaches to certain types of learning problems Incremental: Each training example can incrementally increase/decrease the probability that a hypothesis is correct. Prior knowledge can be combined with observed data. Probabilistic prediction: Predict multiple hypotheses, weighted by their probabilities Standard: Even when Bayesian methods are computationally intractable, they can provide a standard of optimal decision making against which other methods can be measured
Contoh Teorema Bayes misalkan: Dokter mengetahui bahwa meningitis menyebabkan leher kaku 50% Prior probability seorang pasien mengidap meningitis adalah 1/50,000 Prior probability seorang pasien menderita leher kaku 1/20 jika seorang paseien lehernya kaku, berapa peluang dia mengidap meningitis?
Bayesian Classifiers Menganggap tiap atribut dan label class sebagai variabel random Terdapat record dengan atribute (A1,A2,,An) Goal : memprediksi class C Lebih khususnya ingin mencari nilai C yang memaksimalkan P(C| A1, A2,…,An ) Bisakah P(C| A1, A2,…,An ) dihitung langsung dari data?
Bayesian Classifiers Pendekatan: Hitung posterior probability P(C | A1, A2, …, An) untuk semua nilai C dengan teorema Bayes Pilih nilai C yang memaksimalkan P(C | A1, A2, …, An) Ekivalen dengan memilih nilai C yang memaksimalkan P(A1, A2, …, An|C) P(C) Cara Menghitung P(A1, A2, …, An | C )?
Naïve Bayes Classifier Asumsi bahwa atribut independence : P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj) Hitung P(Ai| Cj) untuk semua Ai dan Cj. Point yang baru diklasifikasikan terhadap Cj jika P(Cj) P(Ai| Cj) maksimal.
Perhitungan Probabilitas dari Data? Class: P(C) = Nc/N e.g., P(No) = 7/10, P(Yes) = 3/10 Untuk atribut diskrit: P(Ai | Ck) = |Aik|/ Nc |Aik| adalah jumlah instances yang memiliki atribut Ai da termasuk kelas Ck Contoh : P(Status=Married|No) = 4/7 P(Refund=Yes|Yes)=0 k
Perhitungan Probabilitas dari Data? Untuk atribut kontinu : Diskretisasi menjadi sejumlah range Satu atribut ordinal per bin langgar asumsi independence Two-way split: (A < v) or (A > v) pilih satu dari dua split sebagi atribut baru Perhitungan Probability density : Asumsi atribut terdistribusi normal gunakan data untuk menghitung parameter distribusi (mis., mean dan standar deviasi) jika distribusi probability telah diketahui, gunakan untuk menghitung conditional probability P(Ai|c) k
Perhitungan Probabilitas dari Data? Distribusi Normal : Untuk tiap pasang (Ai,ci) Untuk (Income,Class=No): If Class=No sample mean = 110 sample variance = 2975
Contoh Naïve Bayes Classifier Misalkan ada Test Record: P(X|Class=No) = P(Refund=No|Class=No) P(Married| Class=No) P(Income=120K| Class=No) = 4/7 4/7 0.0072 = 0.0024 P(X|Class=Yes) = P(Refund=No| Class=Yes) P(Married| Class=Yes) P(Income=120K| Class=Yes) = 1 0 1.2 10-9 = 0 Since P(X|No)P(No) > P(X|Yes)P(Yes) Therefore P(No|X) > P(Yes|X) => Class = No
Naïve Bayes Classifier Jika salah satu conditional probability = 0, maka semua ekspresi akan jadi = 0 Perhitungan Probabilitas : c: jumlah kelas p: prior probability m: parameter
Contoh Perhitungan P(xi|C) X1 = (overcast, mild, normal, false, ?) X2= (sunny, hot, normal, false, ?) P(p) = 9/14 P(n) = 5/14
outlook P(sunny|p) = 2/9 P(sunny|n) = 3/5 P(overcast|p) = 4/9 P(overcast|n) = 0 P(rain|p) = 3/9 P(rain|n) = 2/5 temperature P(hot|p) = 2/9 P(hot|n) = 2/5 P(mild|p) = 4/9 P(mild|n) = 2/5 P(cool|p) = 3/9 P(cool|n) = 1/5 humidity P(high|p) = 3/9 P(high|n) = 4/5 P(normal|p) = 6/9 P(normal|n) = 2/5 windy P(true|p) = 3/9 P(true|n) = 3/5 P(false|p) = 6/9 P(false|n) = 2/5
Contoh Pengklasifikasian X Misal X = <rain, hot, high, false> P(X|p)·P(p) = P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582 P(X|n)·P(n) = P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286 Sample X dikelaskan sebagai kelas n (don’t play)
Naïve Bayes (Summary) Tahan terhadap noise point Menangani missing values dengan mengabaikan instance selama perhitungan probabilitas Tahan terhadap atribut yang tidak relevan Asumsi keindipendenan kemungkinan tidak berlaku untuk beberapa atribut, oelh karenanya bisa menggunakan teknik lain seperti Bayesian Belief Networks (BBN)
Hatur Nuhun!!!