Kaj je algoritem Naive Bayes?

Naive Bayesov algoritem je tehnika, ki pomaga konstruirati klasifikatorje. Klasifikatorji so modeli, ki razvrščajo primere težav in jim dodelijo oznake razredov, ki so predstavljeni kot vektorji napovedovalcev ali vrednosti lastnosti. Temelji na teoremu Bayesa. Imenujemo ga naivni Bayes, ker predvideva, da vrednost neke lastnosti ni odvisna od druge lastnosti, tj. Sprememba vrednosti funkcije ne bi vplivala na vrednost druge značilnosti. Zaradi istega razloga se imenuje tudi idiot Bayes. Ta algoritem deluje učinkovito za velike nabore podatkov, zato je najbolj primeren za napovedi v realnem času.

Pomaga izračunati zadnjo verjetnost P (c | x) z uporabo predhodne verjetnosti razreda P (c), predhodne verjetnosti prediktorja P (x) in verjetnosti prediktorja danega razreda, imenovane tudi kot verjetnost P (x | c ).

Formula ali enačba za izračun posteriorne verjetnosti je:

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

Kako deluje algoritem Naive Bayes?

Razumejmo delovanje algoritma Naive Bayes na primeru. Predvidevamo, da so podatki o vremenu za trening in ciljna spremenljivka "Odhod v nakupovanje". Zdaj bomo razvrstili, ali bo deklica šla v nakupovanje glede na vremenske razmere.

Podani niz podatkov je:

VremeIti nakupovati
SončnoNe
DeževenDa
OblačnoDa
SončnoDa
OblačnoDa
DeževenNe
SončnoDa
SončnoDa
DeževenNe
DeževenDa
OblačnoDa
DeževenNe
OblačnoDa
SončnoNe

Izvedli bi naslednje korake:

1. korak: Naredite tabele frekvenc z uporabo podatkovnih nizov.

VremeDaNe
Sončno32
Oblačno40
Deževen23
Skupaj95

2. korak: Naredite tabelo verjetnosti z izračunom verjetnosti vsakega vremenskega stanja in nakupovanjem.

VremeDaNeVerjetnost
Sončno325/14 = 0, 36
Oblačno404/14 = 0, 29
Deževen235/14 = 0, 36
Skupaj95
Verjetnost9/14 = 0, 645/14 = 0, 36

Korak 3: Zdaj moramo izračunati zadnjo verjetnost z enačbo Naive Bayes za vsak razred.

Primer težave: Dekle bo šlo v nakupovanje, če je vreme oblačno. Ali je ta izjava pravilna?

Rešitev:

  • 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 (oblačno) = 4/14 = 0, 39

Zdaj vse izračunane vrednosti postavite v zgornjo formulo

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

Razred z največjo verjetnostjo bi bil rezultat napovedi. Z uporabo istih pristopov je mogoče predvideti različne razrede.

Za kaj se uporablja algoritem Naive Bayes?

1. Napoved v realnem času: Algoritem Naive Bayes je hiter in vedno pripravljen na učenje, zato je najbolj primeren za napovedi v realnem času.

2. Napoved v več razredih : Verjetnost več razredov katere koli ciljne spremenljivke je mogoče predvideti z algoritmom Naive Bayes.

3. Priporočilni sistem: Naive Bayesov klasifikator s pomočjo Collaborative Filtering vzpostavi sistem priporočil. Ta sistem uporablja tehnike rudarjenja podatkov in tehnik strojnega učenja za filtriranje informacij, ki niso bile vidne prej, in nato napovedovanje, ali bi uporabnik cenil določen vir ali ne.

4. Klasifikacija besedila / Analiza občutkov / Filtriranje neželene pošte: Zaradi boljšega delovanja s težavami z več razredi in neodvisnim pravilom algoritem Naive Bayes deluje bolje ali ima višjo stopnjo uspešnosti pri klasifikaciji besedila, zato se uporablja v analizi občutkov in Filtriranje neželene pošte.

Prednosti algoritma Naive Bayes

  • Enostaven za izvedbo.
  • Hitro
  • Če predpostavka neodvisnosti drži, potem deluje učinkoviteje kot drugi algoritmi.
  • Zahteva manj podatkov o usposabljanju.
  • Je zelo razširljiv.
  • Lahko da verjetne napovedi.
  • Lahko prenese tako neprekinjene kot diskretne podatke.
  • Neobčutljiv do nepomembnih lastnosti.
  • Brez težav lahko deluje z manjkajočimi vrednostmi.
  • Enostaven za posodobitev ob prihodu novih podatkov.
  • Najbolj primeren za težave s klasifikacijo besedila.

Slabosti algoritma Naive Bayes

  • Močna domneva o neodvisnosti funkcij, kar je resnično resnično pri uporabi v resničnem življenju.
  • Pomanjkanje podatkov.
  • Možnosti izgube natančnosti.
  • Zero Frekvenca, tj. Če kategorije nobene kategorične spremenljivke ni videno v naboru podatkov o vadbi, potem model tej kategoriji dodeli ničelno verjetnost in potem napovedi ni mogoče predvideti.

Kako sestaviti osnovni model z algoritmom Naive Bayes

Obstajajo tri vrste Naive Bayes modelov, to so Gaussian, Multinomial in Bernoulli. O vsaki od njih na kratko razpravimo.

1. Gaussov: Gaussov naivni Bayesov algoritem predvideva, da se neprekinjene vrednosti, ki ustrezajo vsaki lastnosti, razporejajo po Gaussovi porazdelitvi, imenovani tudi normalna porazdelitev.

Za verjetnost ali predhodno verjetnost napovedovalca danega razreda se domneva, da je Gaussov, zato se pogojna verjetnost lahko izračuna kot:

2. Multinomial: Frekvencije pojavljanja določenih dogodkov, ki jih predstavljajo funkcijski vektorji, se generirajo z uporabo multinomalne porazdelitve. Ta model se pogosto uporablja za razvrščanje dokumentov.

3. Bernoulli: V tem modelu so vhodi opisani s funkcijami, ki so neodvisne binarne spremenljivke ali Booleans. To se pogosto uporablja tudi pri klasifikaciji dokumentov, kot so Multinomial Naive Bayes.

Za ravnanje in razvrščanje podatkovnega niza lahko uporabite kateri koli od zgornjih modelov.

Gaussov model lahko sestavite s pomočjo Pythona, tako da razumete spodnji primer:

Koda:

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)

Izhod:

((3, 4))

Zaključek

V tem članku smo podrobno spoznali koncepte algoritma Naive Bayes. Večinoma se uporablja pri razvrščanju besedil. Je enostaven za izvedbo in hitro izvedljiv. Njegova glavna pomanjkljivost je ta, da mora biti funkcija neodvisna, kar v resničnih aplikacijah ne drži.

Priporočeni članki

To je vodnik po algoritmu Naive Bayes. Tu smo razpravljali o osnovnem konceptu, delu, prednostih in pomanjkljivostih algoritma Naive Bayes. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Povečanje algoritma
  2. Algoritem v programiranju
  3. Uvod v algoritem

Kategorija: