klasifikacija – naivni bajes
TRANSCRIPT
Klasifikacija – Naivni Bajes
NIKOLA MILIKIĆ
EMAIL: [email protected]
URL: http://nikola.milikic.info
• H – hipoteza (hypothesis)
• E – opažaj (evidence) vezan za hipotezu H, tj. podaci na osnovu kojih bi trebalo da potvrdimo ili odbacimo hipotezu H
• P(H) – verovatnoća hipoteze H (prior probability)
• P(E) – verovatnoća opažaja tj stanja na koje ukazuju prikupljeni podaci
• P(E|H) – (uslovna) verovatnoća opažaja E ukoliko važi hipoteza H
• P(H|E) – (uslovna) verovatnoća hipoteze H ukoliko imamo opažaj E
Bajesovo pravilo
! ! ! = !! ! ! ∗ !(!)!(!) !
Naivni Bajes klasifikator
! ! ! = !! !! ! ∗ ! !! ! ∗… ∗ ! !! ! ∗ !(!)!(!) !
• Uvodi se pretpostavka da su atributi nezavisni
Naivni Bajes
• Uvodi dve “naivne” pretpostavke nad atributima:
• svi atributi su a priori podjednako važni • svi atributi su statistički nezavisni (vrednost jednog atributa nam ne
govori ništa o vrednosti drugog atributa)
• Ove pretpostavke najčešće nikada nisu tačne, ali u praksi se ipak dobijaju dobri rezultati
ToPlayOtNotToPlay.arff
Primer – Predviđanje da li će se predstava odigrati
Pretpostavimo da znamo da je sunčano napolju
Onda je 60% šanse da bude Play = no
Kako sunčano vreme (outlook=sunny) utiće na ishod?
Kako vrednost atributa Outlook utiče na ishod?
Ponoviti za svaki atribut…
Kako vrednosti svih atributa utiču na ishod?
Pretvoriti brojeve u procene verovatnoća
2 pojavljivanja Play = no, gde je Outlook = rainy 5 pojavljivanja Play = no
Pretvaramo brojeve pojavljivanja u procene verovatnoća
Pod uslovima Uslovi1: Outlook = sunny (0.22) Temperature = cool (0.33) Humidity = high (0.33) Windy = true (0.33)
Izračunati verovatnoću da:
Play = yes (0.64)
0.22 x 0.33 x 0.33 x 0.33 x 0.64 = 0.0053
Verovatnoća da će se igrati pod datim
vremenskim uslovima
Verovatnoća da će se igrati pod uslovima Uslovi1
Pod uslovima Uslovi1: Outlook = sunny (0.60) Temperature = cool (0.20) Humidity = high (0.80) Windy = true (0.60)
Izračunati verovatnoću da:
Play = no (0.36)
0.60 x 0.20 x 0.80 x 0.60 x 0.36 = 0.0206
Verovatnoća da se NEĆE igrati pod datim vremenskim uslovima
Verovatnoća da se NEĆE igrati pod uslovima Uslovi1
Pod uslovima Uslovi1: Outlook = sunny Temperature = cool Humidity = high Windy = true
Verovatnoća da Play = yes: 0.0053 = 20.5% 0.0053 + 0.0206
Verovatnoća da Play = no: 0.0206 = 79.5% 0.0053 + 0.0206
Računamo verovatnoće da li će se odigrati pod Uslovi1
! ! ! = !! !! ! ∗ ! !! ! ∗… ∗ ! !! ! ∗ !(!)!(!) !
Pod uslovima Uslovi2: Outlook = ovecast (0.00) Temperature = cool (0.20) Humidity = high (0.80) Windy = true (0.60)
Izračunati verovatnoću da:
Play = no (0.36)
0.00 x 0.20 x 0.80 x 0.60 x 0.36 = 0.0000
Neće se igrati 0%, odnosno Igraće se
100%?
Verovatnoća da se NEĆE igrati pod uslovima Uslovi2
Laplace estimator: Dodati 1 svakom broju
Pojavljivanja iz originalnog dataset-a
Nakon dodavanja 1 svakom broju (Laplace estimator)
Primena Laplace estimator-a
Pretvoriti inkrementirane vrednosti u procene verovatnoća nakon primene
Laplace estimator
Računanje procena verovatnoća nakon primene Laplace estimator-a
Pod uslovima Uslovi2: Outlook = ovecast, Temperature = cool, Humidity = high, Windy = true
Play = no: 0.13 x 0.25 x 0.71 x 0.57 x 0.36 = 0.046 Play = yes: 0.42 x 0.33 x 0.36 x 0.36 x 0.64 = 0.0118
Verovatnoća da Play = no: 0.0046 = 28% 0.0046 + 0.0118
Verovatnoća da Play = yes: 0.0118 = 72% 0.0046 + 0.0118
Verovatnoće da li će se odigrati predstava pod Uslovi2
Pod uslovima Uslovi1: Outlook = sunny Temperature = cool Humidity = high Windy = true
Bez korišćenja Laplace estimator-a: Play = no: 79.5% Play = yes: 20.5%
Korišćenjem Laplace estimator-a: Play = no: 72.0% Play = yes: 28.0%
Efekat Laplace estimator-a opada povećanjem broja uzoraka.
Verovatnoće pod uslovima Uslovi1 pre i nakon primene Laplace estimator-a
Ponoviti prethodne kalkulacije za sve moguće kombinacije
vremenskih prilika. Odbaciti kombinacije kod kojih je
verovatnoća < 0.5
Predikciona pravila
Izračunati verovatnoće za svih 36 kombinacija
Predikciona pravila – verovatnoće svih kombinacija
Nedostaje instanca 6 Pravila koja predviđaju klasu svih kombinacija atributa
Predikciona pravila – verovatnoće svih kombinacija
Poređenje originalnih i predviđenih odluka
Naivni Bajes u Weka-i
ToPlayOtNotToPlay.arff dataset
Predikcija nad trening datasetom
Klasifikator automatski primenjuje Laplace estimator
Prikaz rezultata klasifikacije
Instanca 6 je obeležena kao pogrešno klasifikovana
Verovatnoća svake instance u datasetu
Prikaz rezultata klasifikacije
Osobine Naivnog Bajesa
• Namenjen primarno za rad sa nominalnim atributima
• U slučaju numeričkih atributa:
• koristiti raspodelu verovatnoća atributa (tipično Normalna raspodela) za procenu verovatnoće svake od vrednosti atributa
• uraditi diskretizaciju vrednosti atributa
§ Skup podataka “Jestive pečurke” je nastao na osnovu knjige “National Audubon Society Field Guide to North American Mushrooms”
§ Skup podataka obuhvata opise hipotetičkih uzoraka pečuraka koje spadaju jednoj od 23 vrste pečuraka
§ Postoji ukupno 8124 instanci sa 22 atributa nominalnih vrednosti koje opisuju karakteristike pečuraka i imaju podatak da li su pečurke jestive ili ne
§ Naš cilj je da predvidimo da li je nepoznata pečurka jestiva ili ne
Primer 2 – Skup podataka “Jestive pečurke”
Podaci u datasetu su fiktivni i rezultate ne treba koristiti prilikom stvarnog određivanja jestivosti pečuraka!
EdibleMushrooms.arff
Osnovni klasifikator (Baseline)
• Imamo ukupno 768 instanci (500 negativnih, 268 pozitivnih)
• A priori verovatnoća da će biti negativan, odnosno pozitivan ishod je
• Osnovni klasifikator klasifikuje svaku instancu u klasu sa najvećom verovatnoćom
• U Weka-i implementacija osnovnog klasifikatora: rules -> ZeroR
!"#$%&'$( = !500768 ∙ 100% = 65.1!%!!
!"#$%$&'( = !268768 ∙ 100% = 34.9!%!!
Klasifikator u Weka-i: rules -> ZeroR
Osnovni klasifikator (Baseline)
• Otvoriti dataset diabetes.arff
• Test option: Percentage split 66%
• Probati klasifikatore:
• rules -> ZeroR 65%
• trees -> J48 76%
• bayes -> NaiveBayes 77%
• lazy -> Ibk 73%
• Za svaki problem klasifikacije proveriti da li odabrani algoritam daje bolje rezultate od osnovnog klasifikatora
Primer 3 – Skup podataka “Supermarket”
• Dataset opisuje podatke o prodaji artikala u malom novozelandskom supermarketu u jednom danu.
• Podaci su nominalni i odnose se na različita odeljenja (department) u prodavnici i različite grupe artikala (npr. “bread and cake’ se odnosi na grupu pekarskih proizvoda).
• Ako atribut ima vrednost “t”, to znači da je korpa kupca sadržala makar jedan proizvod iz datog odeljenja, odnosno da je kupac kupio makar jedan proizvod iz navedene kategorije proizvoda.
• Klasa ima vrednost “low” ili “high” u zavisnosti od toga da li je kupovina bila manja ili veća od 100$
supermarket.arff
Weka Tutorials and Assignments @ The Technology Forge
§ Link: http://www.technologyforge.net/WekaTutorials/
"Data Mining with Weka" and "More Data Mining with Weka": MOOCs from the University of Waikato. A self-paced session of "Data Mining with Weka" runs until 23 October June 2015.
• Link: https://www.youtube.com/user/WekaMOOC/
Preporuke i zahvalnice
(Anonimni) upitnik za vaše kritike, komentare, predloge:
http://goo.gl/cqdp3I