Mikä on Naive Bayes -algoritmi?

Naiivi Bayes-algoritmi on tekniikka, joka auttaa rakentamaan luokittelijoita. Luokittelijat ovat malleja, jotka luokittelevat ongelma-esiintymät ja antavat niille luokkatunnisteet, jotka esitetään ennustajien tai ominaisuusarvojen vektoreina. Se perustuu Bayes-lauseeseen. Sitä kutsutaan naiiviksi Bayesiksi, koska siinä oletetaan, että ominaisuuden arvo on riippumaton toisesta ominaisuudesta, ts. Ominaisuuden arvon muuttaminen ei vaikuta toisen ominaisuuden arvoon. Sitä kutsutaan myös idiootti Bayesiksi samasta syystä. Tämä algoritmi toimii tehokkaasti suurissa tietojoukoissa, joten soveltuu parhaiten reaaliaikaisiin ennusteisiin.

Se auttaa laskemaan takaosan todennäköisyyden P (c | x) käyttämällä luokan P (c) aikaisempaa todennäköisyyttä, ennustajan P (x) aikaisempaa todennäköisyyttä ja ennustajan annetun luokan todennäköisyyttä, jota kutsutaan myös todennäköisyydeksi P (x | c) ).

Kaava tai yhtälö takaosan todennäköisyyden laskemiseksi on:

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

Kuinka Naive Bayes -algoritmi toimii?

Ymmärtäkäämme Naive Bayes -algoritmin toiminnan esimerkin avulla. Oletetaan, että harjoitteluaineistosää on sää ja tavoitemuuttuja 'Going shopping'. Nyt luokittelemme, meneekö tyttö ostoksille sääolosuhteiden perusteella.

Annettu tietojoukko on:

Säämenossa shoppailemaan
AurinkoinenEi
SateinenJoo
PilvinenJoo
AurinkoinenJoo
PilvinenJoo
SateinenEi
AurinkoinenJoo
AurinkoinenJoo
SateinenEi
SateinenJoo
PilvinenJoo
SateinenEi
PilvinenJoo
AurinkoinenEi

Seuraavat vaiheet suoritetaan:

Vaihe 1: Tee taajuustaulukoita tietojoukkoja käyttämällä.

SääJooEi
Aurinkoinen32
Pilvinen40
Sateinen23
Kaikki yhteensä95

Vaihe 2: Tee todennäköisyystaulukko laskemalla kunkin sääolosuhteiden todennäköisyydet ja käymällä ostoksilla.

SääJooEiTodennäköisyys
Aurinkoinen325/14 = 0, 36
Pilvinen404/14 = 0, 29
Sateinen235/14 = 0, 36
Kaikki yhteensä95
Todennäköisyys9/14 = 0, 645/14 = 0, 36

Vaihe 3: Nyt on laskettava takaosan todennäköisyys käyttämällä Naive Bayes-yhtälöä jokaiselle luokalle.

Ongelma: Tyttö käy ostoksilla, jos sää on pilvinen. Onko tämä lausunto oikea?

Ratkaisu:

  • P (Kyllä | Pilvistä) = (P (Pilvistä | Kyllä) * P (Kyllä)) / P (Pilvistä)
  • P (Pilvistä | Kyllä) = 4/9 = 0, 44
  • P (kyllä) = 9/14 = 0, 64
  • P (pilvistä) = 4/14 = 0, 39

Laita nyt kaikki lasketut arvot yllä olevaan kaavaan

  • P (Kyllä | Pilvistä) = (0, 44 * 0, 64) / 0, 39
  • P (Kyllä | Pilvistä) = 0, 722

Luokka, jolla on suurin todennäköisyys, olisi ennusteen tulos. Samalla lähestymistavalla voidaan ennustaa eri luokkien todennäköisyydet.

Mihin Naive Bayes -algoritmia käytetään?

1. Reaaliaikainen ennustaminen: Naive Bayes -algoritmi on nopea ja aina valmis oppimaan, joten se soveltuu parhaiten reaaliaikaisiin ennusteisiin.

2. Useiden luokkien ennustaminen: Minkä tahansa kohdemuuttujan moniluokkien todennäköisyys voidaan ennustaa käyttämällä Naive Bayes -algoritmia.

3. Suositusjärjestelmä: Naive Bayes -luokitin rakentaa yhteistyösuodatuksen avulla suositusjärjestelmän. Tämä järjestelmä käyttää datan louhinta- ja koneoppimistekniikoita suodattamaan ennen näkemät tiedot ja ennakoida sitten, arvostavatko käyttäjät tietyn resurssin vai eivät.

4. Tekstin luokittelu / aistimusteanalyysi / roskapostisuodatus: Koska Naive Bayes -algoritmi on parempi suorituskyky moniluokkaisten ongelmien kanssa ja riippumattomuussääntö, sen suorituskyky tekstiluokittelussa on parempi tai sen onnistumisaste on korkeampi, joten sitä käytetään Sentiment-analyysissä ja Roskapostin suodatus.

Naiivien Bayes-algoritmien edut

  • Helppo toteuttaa.
  • Nopeasti
  • Jos itsenäisyysoletus pätee, se toimii tehokkaammin kuin muut algoritmit.
  • Se vaatii vähemmän harjoitustietoja.
  • Se on erittäin skaalautuva.
  • Se voi tehdä todennäköisyyttä koskevia ennusteita.
  • Pystyy käsittelemään sekä jatkuvaa että erillistä dataa.
  • Herkät merkityksettömiin piirteisiin.
  • Se voi toimia helposti puuttuvien arvojen kanssa.
  • Helppo päivittää uusien tietojen saapuessa.
  • Soveltuu parhaiten tekstien luokitteluongelmiin.

Naiivi Bayes -algoritmin haitat

  • Vahva oletus ominaisuuksien itsenäisyydestä, mikä tuskin on totta tosielämän sovelluksissa.
  • Tietojen niukkuus.
  • Tarkkuuden menetysmahdollisuudet.
  • Nollataajuus, ts. Jos minkään kategorisen muuttujan luokkaa ei näy harjoitustietojoukossa, malli antaa sille luokalle nollatodennäköisyyden, eikä sitten voida tehdä ennustetta.

Kuinka rakentaa perusmalli Naive Bayes -algoritmin avulla

Naive Bayes -malleja on kolmen tyyppisiä: Gaussian, Multinomial ja Bernoulli. Keskustelemme lyhyesti jokaisesta niistä.

1. Gaussian: Gaussian Naive Bayes -algoritmi olettaa, että kutakin ominaisuutta vastaavat jatkuvat arvot jakautuvat Gaussin jakauman mukaan, jota kutsutaan myös normaalijakaumaksi.

Annetun luokan ennustajan todennäköisyyden tai aikaisemman todennäköisyyden oletetaan olevan Gaussin, siksi ehdollisen todennäköisyyden voidaan laskea seuraavasti:

2. Multinomial: Tiettyjen piirteiden vektorien edustamien tapahtumien esiintymistaajuudet luodaan käyttämällä multinomiaalista jakaumaa. Tätä mallia käytetään laajalti asiakirjojen luokittelussa.

3. Bernoulli: Tässä mallissa tulot kuvataan ominaisuuksilla, jotka ovat riippumattomia binaarimuuttujia tai Booleja. Tätä käytetään laajalti myös dokumenttien luokittelussa, kuten Multinomial Naive Bayes.

Voit käyttää mitä tahansa yllä olevaa mallia tietojoukon käsittelemiseksi ja luokittelemiseksi.

Voit rakentaa Gaussian-mallin Pythonin avulla ymmärtämällä alla olevan esimerkin:

Koodi:

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)

lähtö:

((3, 4))

johtopäätös

Tässä artikkelissa opimme yksityiskohtaisesti Naive Bayes -algoritmin käsitteet. Sitä käytetään enimmäkseen tekstien luokittelussa. Se on helppo toteuttaa ja nopea toteuttaa. Sen suurimpana haittana on, että se edellyttää, että ominaisuuksien on oltava itsenäisiä, mikä ei ole totta tosielämän sovelluksissa.

Suositellut artikkelit

Tämä on opas Naive Bayes -algoritmiin. Tässä keskustelimme Naive Bayes -algoritmin peruskonseptista, toiminnasta, eduista ja haitoista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Parantava algoritmi
  2. Algoritmi ohjelmoinnissa
  3. Johdanto algoritmiin

Luokka: