Hva er Naive Bayes algoritme?

Naive Bayes algoritme er en teknikk som hjelper til med å konstruere klassifisere. Klassifiserere er modellene som klassifiserer problemforekomstene og gir dem klassetiketter som er representert som vektorer for prediktorer eller funksjonsverdier. Det er basert på Bayes teorem. Det kalles naive Bayes fordi den antar at verdien av en funksjon er uavhengig av den andre funksjonen, dvs. å endre verdien til en funksjon ville ikke påvirke verdien av den andre funksjonen. Det kalles også som idiot Bayes på grunn av samme grunn. Denne algoritmen fungerer effektivt for store datasett, derav best egnet for sanntids prediksjoner.

Det hjelper med å beregne den bakre sannsynligheten P (c | x) ved å bruke den tidligere sannsynligheten for klasse P (c), den tidligere sannsynligheten for prediktor P (x) og sannsynligheten for prediktor gitt klasse, også kalt som sannsynlighet P (x | c ).

Formelen eller ligningen for å beregne posterior sannsynlighet er:

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

Hvordan Naive Bayes algoritme fungerer?

La oss forstå Naive Bayes algoritme ved å bruke et eksempel. Vi antar et treningsdatasett med vær og målvariabelen 'Skal handle'. Nå skal vi klassifisere om en jente skal gå på shopping basert på værforhold.

Det gitte datasettet er:

VærGår og shopper
SolfyltNei
RainyJa
OverskyetJa
SolfyltJa
OverskyetJa
RainyNei
SolfyltJa
SolfyltJa
RainyNei
RainyJa
OverskyetJa
RainyNei
OverskyetJa
SolfyltNei

Følgende trinn vil bli utført:

Trinn 1: Lag frekvens tabeller ved hjelp av datasett.

VærJaNei
Solfylt32
Overskyet40
Rainy23
Total95

Trinn 2: Lag en sannsynlighetstabell ved å beregne sannsynlighetene for hver værforhold og handle.

VærJaNeiSannsynlighet
Solfylt325/14 = 0, 36
Overskyet404/14 = 0, 29
Rainy235/14 = 0, 36
Total95
Sannsynlighet9/14 = 0, 645/14 = 0, 36

Trinn 3: Nå må vi beregne den bakre sannsynligheten ved å bruke Naive Bayes-ligningen for hver klasse.

Probleminstans: En jente vil shoppe hvis været er overskyet. Er dette utsagnet riktig?

Løsning:

  • P (Ja | Overskyet) = (P (Overskyet | Ja) * P (Ja)) / P (Overskyet)
  • P (overskyet | Ja) = 4/9 = 0, 44
  • P (Ja) = 9/14 = 0, 64
  • P (overskyet) = 4/14 = 0, 39

Legg nå alle de beregnede verdiene i formelen ovenfor

  • P (Ja | Overskyet) = (0, 44 * 0, 64) / 0, 39
  • P (Ja | Overskyet) = 0, 722

Klassen med størst sannsynlighet vil være resultatet av prediksjonen. Ved å bruke samme tilnærming kan sannsynligheter for forskjellige klasser forutsies.

Hva brukes Naive Bayes algoritme til?

1. Sanntids prediksjon: Naive Bayes algoritme er rask og alltid klar til å lære, derav best egnet for sanntids prediksjoner.

2. predikasjon i flere klasser : Sannsynligheten for flerklasser av en hvilken som helst målvariabel kan forutses ved hjelp av en Naive Bayes-algoritme.

3. Anbefalingssystem: Naive Bayes klassifiserer ved hjelp av Collaborative Filtering bygger et anbefalingssystem. Dette systemet bruker data mining og maskinlæringsteknikker for å filtrere informasjonen som ikke er sett før, og deretter forutsi om en bruker vil sette pris på en gitt ressurs eller ikke.

4. Tekstklassifisering / sentimentanalyse / spamfiltrering: På grunn av bedre ytelse med flerklasseproblemer og uavhengighetsregel, klarer Naive Bayes algoritme bedre eller har en høyere suksessrate i tekstklassifisering, og derfor brukes den i sentimentanalyse og Spamfiltrering.

Fordeler med Naive Bayes algoritme

  • Lett å implementere.
  • Fort
  • Hvis uavhengighetsforutsetningen holder, fungerer den mer effektivt enn andre algoritmer.
  • Det krever mindre treningsdata.
  • Det er høyst skalerbart.
  • Det kan komme med sannsynlige forutsigelser.
  • Klarer både kontinuerlige og diskrete data.
  • Ufølsom overfor irrelevante trekk.
  • Det kan fungere enkelt med manglende verdier.
  • Enkelt å oppdatere ved ankomst av nye data.
  • Egner seg best for tekstklassifiseringsproblemer.

Ulemper med Naive Bayes algoritme

  • Den sterke antagelsen om at funksjonene skal være uavhengige, som neppe er sant i applikasjoner i det virkelige liv.
  • Dataknapphet.
  • Sjansene for tap av nøyaktighet.
  • Nullfrekvens, dvs. hvis kategorien til en hvilken som helst kategorisk variabel ikke sees i treningsdatasettet, tildeler modellen null sannsynlighet til den kategorien, og da kan ikke en prediksjon gjøres.

Hvordan bygge en grunnleggende modell ved å bruke Naive Bayes algoritme

Det er tre typer Naive Bayes-modeller, dvs. Gauss, Multinomial og Bernoulli. La oss diskutere hver av dem kort.

1. Gaussian: Gaussian Naive Bayes algoritme forutsetter at de kontinuerlige verdiene som tilsvarer hver funksjon er distribuert i henhold til Gaussisk distribusjon også kalt Normal distribusjon.

Sannsynligheten for eller tidligere sannsynlighet for prediktor for den gitte klassen antas å være gaussisk, derfor kan betinget sannsynlighet beregnes som:

2. Multinomial: Frekvensene for forekomsten av visse hendelser representert av funksjonsvektorer genereres ved bruk av multinomial fordeling. Denne modellen er mye brukt for dokumentklassifisering.

3. Bernoulli: I denne modellen blir inngangene beskrevet av funksjonene som er uavhengige binære variabler eller Booleans. Dette er også mye brukt i dokumentklassifisering som Multinomial Naive Bayes.

Du kan bruke hvilken som helst av de ovennevnte modellene i henhold til påkrevd for å håndtere og klassifisere datasettet.

Du kan bygge en gaussisk modell ved hjelp av Python ved å forstå eksemplet gitt nedenfor:

Kode:

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)

Produksjon:

((3, 4))

Konklusjon

I denne artikkelen lærte vi detaljene konseptene til Naive Bayes algoritme. Det brukes mest i tekstklassifisering. Det er enkelt å implementere og raskt å utføre. Dens største ulempe er at det krever at funksjonene må være uavhengige, noe som ikke er sant i applikasjoner i det virkelige liv.

Anbefalte artikler

Dette har vært en guide til Naive Bayes algoritme. Her diskuterte vi grunnleggende konsept, arbeid, fordeler og ulemper ved Naive Bayes algoritme. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Boosting Algorithm
  2. Algoritme i programmering
  3. Introduksjon til algoritme

Kategori: