Mi a Naiv Bayes algoritmus?

A Naiv Bayes algoritmus egy olyan technika, amely elősegíti az osztályozók felépítését. Az osztályozók azok a modellek, amelyek osztályozzák a probléma példányait, és osztálycímkéket adnak nekik, amelyeket prediktív vektorok vagy jellemző értékek képviselnek. A Bayes-tételre épül. Naiv Bayes-nek hívják, mert feltételezi, hogy egy elem értéke független a másik tulajdonságtól, azaz az érték megváltoztatása nem befolyásolja a másik elem értékét. Ugyanezen okból az is nevezik, hogy idióta Bayes. Ez az algoritmus hatékonyan működik nagy adatsoroknál, ezért a legmegfelelőbb valós idejű előrejelzésekhez.

Segít kiszámítani a P (c | x) hátsó valószínűségét a P (c) osztály korábbi valószínűsége, a P (x) prediktor korábbi valószínűsége és az előrejelző adott osztályának valószínűsége alapján, más néven P (x | c) valószínűséggel. ).

A képlet vagy egyenlet a hátsó valószínűség kiszámításához:

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

Hogyan működik a Naiv Bayes algoritmus?

Példa segítségével megértsük a Naive Bayes algoritmus működését. Feltételezzük az időjárási edzés adatkészletét és a „Going shopping” célváltozót. Most osztályozzuk, hogy egy lány az időjárási viszonyok alapján megy-e bevásárolni.

Az adott adatkészlet:

IdőjárásVásárolni menni
NaposNem
EsősIgen
FelhősIgen
NaposIgen
FelhősIgen
EsősNem
NaposIgen
NaposIgen
EsősNem
EsősIgen
FelhősIgen
EsősNem
FelhősIgen
NaposNem

A következő lépéseket hajtjuk végre:

1. lépés: Készítsen frekvencia táblákat adatkészletek segítségével.

IdőjárásIgenNem
Napos32
Felhős40
Esős23
Teljes95

2. lépés: Készítsen valószínűségi táblázatot az egyes időjárási körülmények valószínűségének kiszámításával és vásárláskor.

IdőjárásIgenNemValószínűség
Napos325/14 = 0, 36
Felhős404/14 = 0, 29
Esős235/14 = 0, 36
Teljes95
Valószínűség9/14 = 0, 645/14 = 0, 36

3. lépés: Most ki kell számítanunk a hátsó valószínűséget Naive Bayes egyenlet felhasználásával az egyes osztályokhoz.

Problémapéldány: Egy lány bevásárol, ha borús az időjárás. Helyes ez az állítás?

Megoldás:

  • P (Igen | Borús) = (P (Borús | Igen) * P (Igen)) / P (Borús)
  • P (Borús | Igen) = 4/9 = 0, 44
  • P (igen) = 9/14 = 0, 64
  • P (Borús) = 4/14 = 0, 39

Tegye az összes kiszámított értéket a fenti képletbe

  • P (igen | Borús) = (0, 44 * 0, 64) / 0, 39
  • P (igen | Borús) = 0, 722

A predikció kimenetele lenne a legnagyobb valószínűségű osztály. Ugyanazon megközelítés alkalmazásával a különböző osztályok valószínűsége megjósolható.

Mire használják a Naive Bayes algoritmust?

1. Valós idejű előrejelzés: A Naive Bayes algoritmus gyors és mindig készen áll a tanulásra, tehát a valós idejű előrejelzésekhez leginkább megfelelő.

2. Többosztályú előrejelzés: Bármely célváltozó multiosztályának valószínűsége Naive Bayes algoritmus segítségével megjósolható.

3. Ajánlási rendszer: A Naive Bayes osztályozó az Együttműködő Szűrés segítségével létrehoz egy Ajánlási rendszert. Ez a rendszer az adatbányászat és a gépi tanulás technikáit használja a korábban nem látható információk kiszűrésére, majd annak előrejelzésére, hogy a felhasználó értékelni fogja-e egy adott erőforrást.

4. Szöveg osztályozás / Érzelemzés / Spam szűrés: A több osztályú problémákkal való jobb teljesítménye és a függetlenségi szabály miatt a Naive Bayes algoritmus jobban teljesít, vagy magasabb sikerrel jár a szöveges osztályozásban, ezért használják az Érzelmi elemzésben és Spam szűrés.

A Naiv Bayes algoritmus előnyei

  • Könnyen megvalósítható.
  • Gyors
  • Ha fennáll a függetlenségi feltételezés, akkor sokkal hatékonyabban működik, mint más algoritmusok.
  • Kevesebb edzési adatot igényel.
  • Nagyon skálázható.
  • Ez valószínűségi előrejelzéseket tehet.
  • Mind folyamatos, mind diszkrét adatokat képes kezelni.
  • Érzékeny a irreleváns tulajdonságokkal szemben.
  • Könnyen működik hiányzó értékekkel.
  • Könnyen frissíthető új adatok érkezésekor.
  • Legjobban alkalmas szöveges osztályozási problémákra.

A naiv Bayes-algoritmus hátrányai

  • Az a tulajdonság, hogy a szolgáltatások függetlenségére támaszkodik, ami valójában nem igaz a valós alkalmazásokban.
  • Adatok hiánya.
  • A pontosság elvesztésének esélye.
  • Nulla frekvencia, azaz ha bármelyik kategorikus változó kategóriáját nem látja az edzési adatkészlet, akkor a modell nulla valószínűséget rendel hozzá az adott kategóriához, és akkor nem lehet előrejelzést tenni.

Hogyan lehet felépíteni egy alapmodellt a Naiv Bayes algoritmus segítségével?

Háromféle Naive Bayes modell létezik: Gaussian, Multinomial és Bernoulli. Röviden tárgyaljuk mindegyiket.

1. Gaussian: Gaussian Naive Bayes algoritmus feltételezi, hogy az egyes jellemzőknek megfelelő folyamatos értékek Gauss eloszlás szerint vannak eloszlva, amelyet normál eloszlásnak is hívnak.

Az adott osztály prediktorának valószínűségét vagy korábbi valószínűségét Gauss-féle feltételezzük, ezért a feltételes valószínűség kiszámítható:

2. Multinomális: A jellemző vektorok által képviselt bizonyos események előfordulásának frekvenciáját a multinomális eloszlás felhasználásával generáljuk. Ezt a modellt széles körben használják a dokumentumok osztályozására.

3. Bernoulli: Ebben a modellben a bemenetek olyan tulajdonságokkal vannak leírva, amelyek független bináris változók vagy logikai értékek. Ezt a dokumentumok osztályozásában is széles körben használják, mint például a Multinomial Naive Bayes.

Az adatkészlet kezeléséhez és osztályozásához a fenti modellek bármelyike ​​felhasználható.

A Python segítségével készíthet Gauss-modellt az alábbiakban bemutatott példa megértésével:

Kód:

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)

Kimenet:

((3, 4))

Következtetés

Ebben a cikkben részletesen megismertük a Naiv Bayes algoritmus fogalmait. Leginkább a szöveges osztályozásban használják. Könnyen végrehajtható és gyorsan végrehajtható. Fő hátránya, hogy megköveteli, hogy a szolgáltatások függetlenek legyenek, ami a valós alkalmazásokban nem igaz.

Ajánlott cikkek

Ez egy útmutató a Naiv Bayes algoritmushoz. Itt a Naiv Bayes algoritmus alapvető fogalmát, működését, előnyeit és hátrányait tárgyaltuk. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Fokozó algoritmus
  2. Algoritmus a programozásban
  3. Bevezetés az algoritmusba

Kategória: