Š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:
Vrijeme | Odlazak u kupovinu |
Sunčano | Ne |
kišni | Da |
Oblačan | Da |
Sunčano | Da |
Oblačan | Da |
kišni | Ne |
Sunčano | Da |
Sunčano | Da |
kišni | Ne |
kišni | Da |
Oblačan | Da |
kišni | Ne |
Oblačan | Da |
Sunčano | Ne |
Izvršili bi se sljedeći koraci:
Korak 1: Napravite tablice frekvencije pomoću skupova podataka.
Vrijeme | Da | Ne |
Sunčano | 3 | 2 |
Oblačan | 4 | 0 |
kišni | 2 | 3 |
ukupno | 9 | 5 |
Korak 2: Napravite tablicu vjerojatnosti izračunavanjem vjerojatnosti svakog vremenskog stanja i odlaskom u kupovinu.
Vrijeme | Da | Ne | Vjerojatnost |
Sunčano | 3 | 2 | 5/14 = 0, 36 |
Oblačan | 4 | 0 | 4/14 = 0, 29 |
kišni | 2 | 3 | 5/14 = 0, 36 |
ukupno | 9 | 5 | |
Vjerojatnost | 9/14 = 0, 64 | 5/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 -
- Jačanje algoritma
- Algoritam u programiranju
- Uvod u algoritam