klasifikacija – naivni bajes

34
Klasifikacija – Naivni Bajes NIKOLA MILIKI Ć EMAIL: [email protected] URL: http://nikola.milikic.info

Upload: others

Post on 23-Nov-2021

4 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Klasifikacija – Naivni Bajes

Klasifikacija – Naivni Bajes

NIKOLA MILIKIĆ

EMAIL: [email protected]

URL: http://nikola.milikic.info

Page 2: Klasifikacija – Naivni Bajes

•  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

! ! ! = !! ! ! ∗ !(!)!(!) !

Page 3: Klasifikacija – Naivni Bajes

Naivni Bajes klasifikator

! ! ! = !! !! ! ∗ ! !! ! ∗… ∗ ! !! ! ∗ !(!)!(!) !

•  Uvodi se pretpostavka da su atributi nezavisni

Page 4: Klasifikacija – Naivni Bajes

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

Page 5: Klasifikacija – Naivni Bajes

ToPlayOtNotToPlay.arff

Primer – Predviđanje da li će se predstava odigrati

Page 6: Klasifikacija – Naivni Bajes

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?

Page 7: Klasifikacija – Naivni Bajes

Kako vrednost atributa Outlook utiče na ishod?

Page 8: Klasifikacija – Naivni Bajes

Ponoviti za svaki atribut…

Kako vrednosti svih atributa utiču na ishod?

Page 9: Klasifikacija – Naivni Bajes

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

Page 10: Klasifikacija – Naivni Bajes

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

Page 11: Klasifikacija – Naivni Bajes

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

Page 12: Klasifikacija – Naivni Bajes

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

! ! ! = !! !! ! ∗ ! !! ! ∗… ∗ ! !! ! ∗ !(!)!(!) !

Page 13: Klasifikacija – Naivni Bajes

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

Page 14: Klasifikacija – Naivni Bajes

Laplace estimator: Dodati 1 svakom broju

Pojavljivanja iz originalnog dataset-a

Nakon dodavanja 1 svakom broju (Laplace estimator)

Primena Laplace estimator-a

Page 15: Klasifikacija – Naivni Bajes

Pretvoriti inkrementirane vrednosti u procene verovatnoća nakon primene

Laplace estimator

Računanje procena verovatnoća nakon primene Laplace estimator-a

Page 16: Klasifikacija – Naivni Bajes

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

Page 17: Klasifikacija – Naivni Bajes

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

Page 18: Klasifikacija – Naivni Bajes

Ponoviti prethodne kalkulacije za sve moguće kombinacije

vremenskih prilika. Odbaciti kombinacije kod kojih je

verovatnoća < 0.5

Predikciona pravila

Page 19: Klasifikacija – Naivni Bajes

Izračunati verovatnoće za svih 36 kombinacija

Predikciona pravila – verovatnoće svih kombinacija

Page 20: Klasifikacija – Naivni Bajes

Nedostaje instanca 6 Pravila koja predviđaju klasu svih kombinacija atributa

Predikciona pravila – verovatnoće svih kombinacija

Page 21: Klasifikacija – Naivni Bajes

Poređenje originalnih i predviđenih odluka

Page 22: Klasifikacija – Naivni Bajes

Naivni Bajes u Weka-i

Page 23: Klasifikacija – Naivni Bajes

ToPlayOtNotToPlay.arff dataset

Predikcija nad trening datasetom

Page 24: Klasifikacija – Naivni Bajes

Klasifikator automatski primenjuje Laplace estimator

Prikaz rezultata klasifikacije

Page 25: Klasifikacija – Naivni Bajes

Instanca 6 je obeležena kao pogrešno klasifikovana

Verovatnoća svake instance u datasetu

Prikaz rezultata klasifikacije

Page 26: Klasifikacija – Naivni Bajes

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

Page 27: Klasifikacija – Naivni Bajes

§  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

Page 28: Klasifikacija – Naivni Bajes

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!%!!

Page 29: Klasifikacija – Naivni Bajes

Klasifikator u Weka-i: rules -> ZeroR

Page 30: Klasifikacija – Naivni Bajes

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

Page 31: Klasifikacija – Naivni Bajes

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

Page 32: Klasifikacija – Naivni Bajes

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

Page 33: Klasifikacija – Naivni Bajes

(Anonimni) upitnik za vaše kritike, komentare, predloge:

http://goo.gl/cqdp3I

Page 34: Klasifikacija – Naivni Bajes

Pitanja? NIKOLA MILIKIĆ

EMAIL: [email protected]

URL: http://nikola.milikic.info