Anda di halaman 1dari 23

Jurusan

Statistika
CART SVR
Association Rule K-Nearest Neighbor
Bayes
DATA Preprocessing Data
Clustering

MINING K-Means
K-Medoids

C45
Support Vector Machine

Pertemuan 8: Bayesian Classification


Team Teaching: Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika

Bayesian Classification: Why?


• A statistical classifier: menyajikan probabilistic prediction, yaitu
memprediksi peluang keanggotaan kelas
• Dasar: Berdasarkan Teorema Bayes.
• Performa: Bayesian classifier sederhana, naïve Bayesian classifier,
memiliki kinerja yang sebanding dengan pohon keputusan (decision
tree) dan pengklasifikasi jaringan saraf terpilih
• Tambahan : setiap training example dapat secara bertahap
meningkatkan / mengurangi peluang bahwa suatu hipotesis benar—
prior knowledge dapat dikombinasikan dengan observed data
• Standard: Meskipun ketika metode Bayesian secara komputasi tidak
dapat dilakukan, metode ini dapat memberikan standar pengambilan
keputusan yang optimal yang dapat diukur dengan metode lain.

2
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika
Bayes’ Theorem: Basics
M
• Teorema Peluang Total : P(B) =  P(B | A )P( A )
i i
i =1
• Teorema Bayes:
P(H | X) = P(X | H )P(H ) = P(X | H ) P(H ) / P(X)
P(X)
– Misalkan X adalah data sample (“evidence”): class label diketahui
– Misalkan H adalah hypothesis bahwa X milik/anggota class C
– Klasifikasi adalah menentukan P(H|X), (yaitu posteriori probability):
peluang bahwa hipotesis terpenuhi, diberikan sampel data yang diamati X
– P(H) (prior probability): peluang awal
• Misalkan., X akan membeli komputer, tanpa mempertimbangkan usia,
pendapatan, …
– P(X): peluang bahwa data sampel diamati
– P(X|H) (likelihood): peluang mengamati sample X, diberikan bahwa
hipotesis terpenuhi.
• Misalkan, Diberikan bahwa X akan membeli komputer, peluang bahwa
X adalah 31..40, medium income
3
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika

Prediction Based on Bayes’ Theorem


• Diberikan training data X, peluang posterior hypothesis H,
P(H|X), mengikuti Teorema Bayes

P(H | X) = P(X | H )P(H ) = P(X | H ) P(H ) / P(X)


P(X)
• Secara informal, hal ini dapat dilihat sebagai
posteriori = likelihood x prior/evidence
• Prediksi X milik kelas Ci jika dan hanya jika peluang P(Ci|X)
adalah yang tertinggi di antara semua P(Ck|X) untuk semua k
kelas
• Kesulitan praktis: dibutuhkan pengetahuan awal tentang banyak
probabilitas, yang melibatkan biaya komputasi yang signifikan
4
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Classification Is to Derive the Maximum Posteriori
• Misalkan D adalah training set dari tuples dan label kelas yang
terkait, dan setiap tuple diwakili oleh vektor atribut n-D X = (x1,
x2, …, xn)
• Misalkan terdapat m kelas C1, C2, …, Cm.
• Klasifikasi adalah untuk memperoleh posteriori maksimum,
yaitu, Maksimal P(Ci|X)
• Hal Ini dapat diturunkan dari Teorema Bayes
P(X | C )P(C )
P(C | X) = i i
i P(X)
• Karena P(X) konstan untuk semua kelas, hanya
P(C | X) = P(X | C )P(C )
i i i
Yang perlu dimaksimalkan

5
Naïve Bayes Classifier
• Asumsi yang disederhanakan: atribut conditionally
independent (yaitu., Tidak ada hubungan ketergantungan
antara atribut):
n
P(X | C i) =  P( x | C i) = P( x | C i)  P( x | C i)  ... P( x | C i)
k 1 2 n
k =1
• Ini sangat mengurangi biaya perhitungan: Hanya menghitung
distribusi kelas
• Jika Ak adalah kategorik, P(xk|Ci) adalah # tuples dalam Ci
memiliki nilai xk untuk Ak dibagi dengan |Ci, D| (# tuples Ci
dalam D)
• Jika Ak bernilai kontinu, P(xk|Ci) biasanya dihitung berdasar
sebagaran Gaussian dengan mean μ dan simpangan baku σ dan
P(xk|Ci) is P(X | C i) = g ( xk , Ci ,  Ci )
( x− )2
1 −
g ( x,  ,  ) = e 2 2
2  6
Jurusan Statistika

Naïve Bayes Classifier: Training Dataset


age income studentcredit_rating
buys_compu
<=30 high no fair no
Class: <=30 high no excellent no
C1:buys_computer = ‘yes’ 31…40 high no fair yes
C2:buys_computer = ‘no’ >40 medium no fair yes
>40 low yes fair yes
Data yang akan >40 low yes excellent no
31…40 low yes excellent yes
diklasifikasikan:
<=30 medium no fair no
X = (age <=30, <=30 low yes fair yes
Income = medium, >40 medium yes fair yes
Student = yes <=30 medium yes excellent yes
Credit_rating = Fair) 31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
7
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika
Naïve Bayes Classifier: An Example age income studentcredit_rating
buys_comp
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
• P(Ci): P(buys_computer = “yes”) = 9/14 = 0.643 >40
>40
medium
low
no fair
yes fair
yes
yes
>40 low yes excellent no
P(buys_computer = “no”) = 5/14= 0.357 31…40
<=30
low
medium
yes excellent
no fair
yes
no

• Compute P(X|Ci) for each class <=30


>40
low yes fair
medium yes fair
yes
yes
<=30 medium yes excellent yes
P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 31…40
31…40
medium
high
no excellent
yes fair
yes
yes

P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6 >40 medium no excellent no

P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444


P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4
P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667
P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2
P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667
P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4
• X = (age <= 30 , income = medium, student = yes, credit_rating = fair)
P(X|Ci) : P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044
P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019
P(X|Ci)*P(Ci) : P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028
P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007
Therefore, X belongs to class (“buys_computer = yes”)
8
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Menghindari Masalah Peluang Nol
• Prediksi Naïve Bayesian mensyaratkan setiap peluang bersyarat
tidak nol, selainnya akan mengakibatkan peluang prediksi akan
nol. n
P( X | C ) =
i  P( x | C )
k i
k =1
Misalkan dataset dengan 1000 tuples, income=low (0),
income= medium (990), and income = high (10)
• Gunakan Laplacian correction (atau Laplacian estimator)
– Tambahkan 1 to pada setiap case, sehingga
Prob(income = low) = 1/1003
Prob(income = medium) = 991/1003
Prob(income = high) = 11/1003
– Peluang yang “corrected” dekat dengan peluang yang
“uncorrected” 9
Jurusan Statistika

Naïve Bayes Classifier: Comments


• Kelebihan
– Mudah diimplementasikanEasy to implement
– Diperoleh hasil yang bagus pada hamper semua kasus
• Kekurangan
– Assumption: class conditional independence, oleh karena itu
kehilangan keakuratan
– Secara praktis, terdapat ketergantungan diantara variable
• Misal., Rumah sakit :
pasien: Profile: usia, riwayat keluarga dll.
Gejala: demam, batuk dll.,
Penyakit: kanker paru-paru, diabetes, dll.
• Ketergantungan di antara ini tidak dapat
dimodelkan dengan Naïve Bayes Classifier
10
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 11

Bayesian Classification Menggunakan R


#Install package
>install.packages("e1071")

#Panggil package
> library(e1071)

#Import data
>library(readxl)> sample1 <- read_excel
("D:/Eni/Materi kuliah/Genap/Data
Mining/sample1.xlsx")
#Membuat train data dan test data
traindata<-as.data.frame(sample[1:14,])
testdata <- as.data.frame(sample[15,])
April 2, 2020 Data Mining: Concepts and Techniques
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 12

traindata

testdata

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 13

#Menghitung banyaknya Enrolls=yes dan Enrolls=no


tprior<-table(traindata$Enrolls)
tprior

#Menghitung prior probability P(Ci) untuk Enrolls, dengan


CiC dan C={yes,no}
tprior<-tprior/sum(tprior)
tprior

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 14

#Menghitung conditional probabilities P(A|C) dengan A={


age, income, JobSatisfaction, Desire) dan C={yes,no}
#Menghitung banyaknya “no” dan “yes” untuk setiap
kelompok age
ageCounts <- table(traindata[,c("Enrolls", “age")])
ageCounts

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 15

#Normalisasi dengan banyaknya “no” dan “yes”


ageCounts <- ageCounts/rowSums(ageCounts)
ageCounts

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 16

#lakukan hal yang sama untuk atribut lain, yaitu income,


JobSatisfaction dan Desire
incomeCounts <- table(traindata[,c("Enrolls", “income")])
incomeCounts <- incomeCounts/rowSums(incomeCounts)
incomeCounts

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 17

jsCounts <- table(traindata[,c("Enrolls",


"JobSatisfaction")])
jsCounts <- jsCounts/rowSums(jsCounts)
jsCounts

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 18

desireCounts <- table(traindata[,c("Enrolls", "Desire")])


desireCounts <- desireCounts/rowSums(desireCounts)
desireCounts

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 19

#Menghitung peluang “yes” dan “no” untuk testdata


prob_yes <-
ageCounts[“yes",testdata[,c(“age")]]*
incomeCounts[“yes",testdata[,c(“income")]]*
jsCounts[“yes",testdata[,c("JobSatisfaction")]]*
desireCounts[“yes",testdata[,c("Desire")]]*
tprior[“yes"]
prob_yes

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 20

prob_no <-
ageCounts[“no",testdata[,c(“age")]]*
incomeCounts[“no",testdata[,c(“income")]]*
jsCounts[“no",testdata[,c("JobSatisfaction")]]*
desireCounts[“no",testdata[,c("Desire")]]*
tprior[“no"]
prob_no

Karena prob_yes>prob_no, maka kelas dari testdata adalah


yes

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 21

Menggunakan package e1071


Bentuk dari fungsi adalah naiveBayes (formula, data,...), dengan argument
yang didefinisikan sebagai berikut

formula: Bentuk dari formula class ~ x1 + x2 + ... dengan asumsi x1, x2…
conditionally independent
data: A data frame of factors

Gunakan perintah berikut


model <- naiveBayes(Enrolls ~ age+income+JobSatisfaction+Desire,
traindata)
model

prediksi outcome Enrolls dengan testdata menunjukkan hasil Enrolls=Yes


results <- predict (model,testdata)
results
April 2, 2020 Data Mining: Concepts and Techniques
Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 22

April 2, 2020 Data Mining: Concepts and Techniques


Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.
Jurusan Statistika 23

Recommended Reference Books


• S. Chakrabarti. Mining the Web: Statistical Analysis of Hypertex and Semi-Structured Data. Morgan Kaufmann, 2002
• R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2ed., Wiley-Interscience, 2000
• T. Dasu and T. Johnson. Exploratory Data Mining and Data Cleaning. John Wiley & Sons, 2003
• U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy. Advances in Knowledge Discovery and Data Mining.
AAAI/MIT Press, 1996
• U. Fayyad, G. Grinstein, and A. Wierse, Information Visualization in Data Mining and Knowledge Discovery, Morgan Kaufmann,
2001
• J. Han and M. Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 3 rd ed., 2011
• D. J. Hand, H. Mannila, and P. Smyth, Principles of Data Mining, MIT Press, 2001
• T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2 nd ed.,
Springer-Verlag, 2009
• B. Liu, Web Data Mining, Springer 2006.
• T. M. Mitchell, Machine Learning, McGraw Hill, 1997
• G. Piatetsky-Shapiro and W. J. Frawley. Knowledge Discovery in Databases. AAAI/MIT Press, 1991
• P.-N. Tan, M. Steinbach and V. Kumar, Introduction to Data Mining, Wiley, 2005
• S. M. Weiss and N. Indurkhya, Predictive Data Mining, Morgan Kaufmann, 1998
• I. H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Morgan
Kaufmann, 2nd ed. 2005

Data Mining : Dr. Dra. Umu Sa`Adah, M.Si. ♦ Dr. Eni Sumarminingsih, S.Si, MM ♦ Dwi Ayu Lusia, S.Si., M.Si.

Anda mungkin juga menyukai