Što je naivni Bayesov algoritam?

Naivni Bayesov algoritam je tehnika koja pomaže u konstruiranju klasifikatora. Klasifikatori su modeli koji klasificiraju problematične instance i daju im oznake klase koje su predstavljene kao vektori prediktora ili vrijednosti značajki. Temelji se na Bayesovoj teoremi. Naziva se naivnim Bayesom jer pretpostavlja da vrijednost značajke nije ovisna o drugoj značajki, tj. Promjena vrijednosti značajke ne bi utjecala na vrijednost druge značajke. Naziva se i kao idiot Bayes zbog istog razloga. Ovaj algoritam učinkovito radi za velike skupove podataka, stoga je najprikladniji za predviđanja u stvarnom vremenu.

Pomaže izračunati vjerojatnost stranja P (c | x) koristeći prethodnu vjerojatnost klase P (c), prethodnu vjerojatnost prediktora P (x) i vjerojatnost prediktora dane klase, koja se naziva i vjerojatnošću P (x | c) ).

Formula ili jednadžba za izračun posteriorne vjerojatnosti je:

  • P (c | x) = (P (x | c) * P (c)) / P (x)

Kako djeluje algoritam Naive Bayes?

Razjasnimo funkcioniranje algoritma Naive Bayes koristeći primjer. Pretpostavljamo skup podataka o treningu i vremensku varijablu 'Idemo u kupovinu'. Sada ćemo klasificirati hoće li djevojka ići u kupovinu na temelju vremenskih uvjeta.

Dati skup podataka je:

VrijemeOdlazak u kupovinu
SunčanoNe
kišniDa
OblačanDa
SunčanoDa
OblačanDa
kišniNe
SunčanoDa
SunčanoDa
kišniNe
kišniDa
OblačanDa
kišniNe
OblačanDa
SunčanoNe

Izvršili bi se sljedeći koraci:

Korak 1: Napravite tablice frekvencije pomoću skupova podataka.

VrijemeDaNe
Sunčano32
Oblačan40
kišni23
ukupno95

Korak 2: Napravite tablicu vjerojatnosti izračunavanjem vjerojatnosti svakog vremenskog stanja i odlaskom u kupovinu.

VrijemeDaNeVjerojatnost
Sunčano325/14 = 0, 36
Oblačan404/14 = 0, 29
kišni235/14 = 0, 36
ukupno95
Vjerojatnost9/14 = 0, 645/14 = 0, 36

Korak 3: Sada moramo izračunati zadnju vjerojatnost pomoću Naive Bayesove jednadžbe za svaku klasu.

Primjer problema: Djevojčica će ići u kupovinu ako je vrijeme oblačno. Je li ta izjava točna?

Riješenje:

  • P (Da | Oblačno) = (P (Oblačno | Da) * P (Da)) / P (Oblačno)
  • P (Oblačno | Da) = 4/9 = 0, 44
  • P (Da) = 9/14 = 0, 64
  • P (oblak) = 4/14 = 0, 39

Sada sve gore izračunate vrijednosti stavite u gornju formulu

  • P (Da | Oblačno) = (0, 44 * 0, 64) / 0, 39
  • P (da | oblačno) = 0, 722

Klasa koja ima najveću vjerojatnost bio bi ishod predviđanja. Koristeći iste pristupe vjerojatnosti različitih klasa mogu se predvidjeti.

Za što se koristi algoritam Naive Bayes?

1. Predviđanje u stvarnom vremenu: Algoritam Naive Bayesa brz je i uvijek spreman za učenje, stoga je najprikladniji za predviđanja u stvarnom vremenu.

2. Predviđanje više klasa: Vjerojatnost više klasa bilo koje ciljne varijable može se predvidjeti korištenjem algoritma Naive Bayes.

3. Sustav preporuka: Naive Bayesov klasifikator uz pomoć kolaborativnog filtriranja gradi sustav preporuka. Ovaj sustav koristi metode iskopavanja podataka i strojnog učenja kako bi filtrirao informacije koje nisu ranije viđene, a zatim predviđa hoće li korisnik cijeniti određeni resurs ili ne.

4. Klasifikacija teksta / Analiza osjećaja / Filtriranje neželjene pošte: Zbog svojih boljih performansi kod problema s više klasa i pravila neovisnosti, algoritam Naive Bayesa bolje radi ili ima veću stopu uspjeha u klasifikaciji teksta, pa se koristi u analizi osjećaja i Filtriranje neželjene pošte.

Prednosti Naivnog Bayesovog algoritma

  • Jednostavan za implementaciju.
  • Brzo
  • Ako se pretpostavi neovisnost, tada djeluje učinkovitije od ostalih algoritama.
  • Zahtijeva manje podataka o obuci.
  • Visoko je skalabilan.
  • Može napraviti vjerojatna predviđanja.
  • Može podnijeti i kontinuirane i diskretne podatke.
  • Neosjetljiv prema nebitnim značajkama.
  • Može se lako raditi s nedostajućim vrijednostima.
  • Jednostavno ažuriranje po dolasku novih podataka.
  • Najprikladnije za probleme s klasifikacijom teksta.

Nedostaci Naivnog Bayesovog algoritma

  • Čvrsta pretpostavka o značajkama da su neovisni što je teško istinito u stvarnim aplikacijama.
  • Nedostatak podataka.
  • Šanse za gubitak točnosti.
  • Nulta frekvencija, tj. Ako se kategorija bilo koje kategorijske varijable ne vidi u skupu podataka o treningu, tada model dodjeljuje nultu vjerojatnost toj kategoriji i tada se ne može predvidjeti.

Kako izgraditi osnovni model korištenjem algoritma Naive Bayes

Postoje tri vrste Naive Bayes modela, tj. Gaussian, Multinomial i Bernoulli. Raspravimo ukratko o svakom od njih.

1. Gaussian: Gaussian Naive Bayes Algoritam pretpostavlja da se kontinuirane vrijednosti koje odgovaraju svakoj značajki raspodjeljuju prema Gaussovoj distribuciji koja se također naziva i normalna distribucija.

Pretpostavlja se da je vjerojatnost ili prethodna vjerojatnost prediktora date klase Gaussova, pa se uvjetna vjerojatnost može izračunati kao:

2. Multinomijalni: Učestalosti pojava određenih događaja predstavljenih značajkama vektora generiraju se pomoću multinomalne distribucije. Ovaj se model naširoko koristi za klasifikaciju dokumenata.

3. Bernoulli: U ovom su modelu ulazi opisani značajkama koje su neovisne binarne varijable ili Booleans. Ovo se također široko koristi u klasifikaciji dokumenata poput Multinomial Naive Bayes.

Možete koristiti bilo koji od gore navedenih modela prema zahtjevu za rukovanje i klasificiranje skupa podataka.

Možete izgraditi Gaussov model pomoću Pythona razumijevanjem primjera navedenog u nastavku:

Kodirati:

from sklearn.naive_bayes import GaussianNB
import numpy as np
a = np.array((-2, 7), (1, 2), (1, 5), (2, 3), (1, -1), (-2, 0), (-4, 0), (-2, 2), (3, 7), (1, 1), (-4, 1), (-3, 7)))
b = np.array((3, 3, 3, 3, 4, 3, 4, 3, 3, 3, 4, 4, 4))
md = GaussianNB()
md.fit (a, b)
pd = md.predict (((1, 2), (3, 4)))
print (pd)

Izlaz:

((3, 4))

Zaključak

U ovom smo članku detaljno naučili koncepte algoritma Naive Bayes. Najčešće se koristi u klasifikaciji teksta. Jednostavan je za implementaciju i brzo se izvršava. Njegov glavni nedostatak je što zahtijeva da značajke moraju biti neovisne, što nije točno u stvarnim aplikacijama.

Preporučeni članci

Ovo je vodič za Algoritam Naive Bayesa. Ovdje smo razgovarali o osnovnom konceptu, radu, prednostima i nedostacima algoritma naivnog Bayesa. Možete i proći naše druge predložene članke da biste saznali više -

  1. Jačanje algoritma
  2. Algoritam u programiranju
  3. Uvod u algoritam

Kategorija: