Čo je algoritmus Naive Bayes?
Algoritmus Naive Bayes je technika, ktorá pomáha vytvárať klasifikátory. Klasifikátory sú modely, ktoré klasifikujú inštancie problému a poskytujú im označenia triedy, ktoré sú reprezentované ako vektory prediktorov alebo hodnôt funkcií. Je založený na Bayesovej vete. Nazýva sa naivný Bayes, pretože predpokladá, že hodnota prvku je nezávislá od druhého prvku, tj zmena hodnoty prvku by nemala vplyv na hodnotu druhého prvku. Z rovnakého dôvodu sa tiež nazýva idiot Bayes. Tento algoritmus pracuje efektívne pre veľké súbory údajov, a preto je najvhodnejší pre predpovede v reálnom čase.
Pomáha vypočítať zadnú pravdepodobnosť P (c | x) pomocou predchádzajúcej pravdepodobnosti triedy P (c), predchádzajúcej pravdepodobnosti prediktora P (x) a pravdepodobnosti prediktora danej triedy, nazývanej tiež ako pravdepodobnosť P (x | c) ).
Vzorec alebo rovnica na výpočet zadnej pravdepodobnosti je:
- P (c | x) = (P (x | c) * P (c)) / P (x)
Ako funguje Naive Bayesov algoritmus?
Poďme pochopiť fungovanie Naive Bayesovho algoritmu pomocou príkladu. Predpokladáme súbor údajov o školeniach o počasí a cieľovú premennú „Nakupovanie“. Teraz budeme klasifikovať, či dievča pôjde na nákupy na základe poveternostných podmienok.
Daný súbor údajov je:
počasie | Ísť nakupovať |
slnečno | žiadny |
daždivý | Áno |
Zatiahnuté | Áno |
slnečno | Áno |
Zatiahnuté | Áno |
daždivý | žiadny |
slnečno | Áno |
slnečno | Áno |
daždivý | žiadny |
daždivý | Áno |
Zatiahnuté | Áno |
daždivý | žiadny |
Zatiahnuté | Áno |
slnečno | žiadny |
Vykonajú sa tieto kroky:
Krok 1: Vytvorte frekvenčné tabuľky pomocou množín údajov.
počasie | Áno | žiadny |
slnečno | 3 | 2 |
Zatiahnuté | 4 | 0 |
daždivý | 2 | 3 |
Celkom | 9 | 5 |
Krok 2: Vytvorte tabuľku pravdepodobnosti vypočítaním pravdepodobnosti každého počasia a nakupovaním.
počasie | Áno | žiadny | pravdepodobnosť |
slnečno | 3 | 2 | 5/14 = 0, 36 |
Zatiahnuté | 4 | 0 | 4/14 = 0, 29 |
daždivý | 2 | 3 | 5/14 = 0, 36 |
Celkom | 9 | 5 | |
pravdepodobnosť | 9/14 = 0, 64 | 5/14 = 0, 36 |
Krok 3: Teraz musíme vypočítať zadnú pravdepodobnosť pomocou Naive Bayesovej rovnice pre každú triedu.
Príklad problému: Dievča pôjde na nákupy, ak je počasie zamračené. Je toto tvrdenie správne?
Riešenie:
- P (Áno | Zamračené) = (P (Zamračené | Áno) * P (Áno)) / P (Zamračené)
- P (zamračené | áno) = 4/9 = 0, 44
- P (Áno) = 9/14 = 0, 64
- P (zamračené) = 4/14 = 0, 39
Teraz vložte všetky vypočítané hodnoty do vyššie uvedeného vzorca
- P (Áno | zamračené) = (0, 44 * 0, 64) / 0, 39
- P (Áno | zamračené) = 0, 722
Trieda s najvyššou pravdepodobnosťou bude výsledkom predpovede. Použitím rovnakého prístupu sa dajú predpovedať pravdepodobnosti rôznych tried.
Na čo sa Algoritmus Naive Bayes používa?
1. Predpovede v reálnom čase: Algoritmus Naive Bayes je rýchly a vždy pripravený naučiť sa, čo je najvhodnejšie pre predpovede v reálnom čase.
2. Predikcia viacerých tried: Pravdepodobnosť viacerých tried akejkoľvek cieľovej premennej sa dá predpovedať pomocou algoritmu Naive Bayes.
3. Systém odporúčaní: Klasifikátor Naive Bayes pomocou funkcie Collaborative Filtering vytvára systém odporúčaní. Tento systém využíva techniky získavania údajov a strojového učenia na filtrovanie informácií, ktoré sa predtým nevideli, a potom predpovedá, či by používateľ ocenil daný prostriedok alebo nie.
4. Klasifikácia textu / Analýza sentimentov / Filtrovanie spamu: Kvôli lepšiemu výkonu pri problémoch s viacerými triedami a pravidlu nezávislosti funguje algoritmus Naive Bayes lepšie alebo má vyššiu úspešnosť pri klasifikácii textu, preto sa používa v analýze sentimentov a Filtrovanie spamu.
Výhody algoritmu Naive Bayes
- Ľahko sa implementuje.
- rýchly
- Ak platí predpoklad nezávislosti, potom funguje efektívnejšie ako iné algoritmy.
- Vyžaduje si to menej údajov o školení.
- Je vysoko škálovateľná.
- Môže vytvárať pravdepodobnostné predpovede.
- Zvládne spojité aj diskrétne údaje.
- Necitlivý na nerelevantné prvky.
- Môže ľahko pracovať s chýbajúcimi hodnotami.
- Ľahko sa aktualizuje pri príchode nových údajov.
- Najlepšie sa hodí pre problémy s klasifikáciou textu.
Nevýhody algoritmu Naive Bayes
- Silný predpoklad o nezávislosti funkcií, ktorý v aplikáciách v skutočnom živote sotva platí.
- Nedostatok údajov.
- Šanca na stratu presnosti.
- Nulová frekvencia, tj ak kategória akejkoľvek kategorickej premennej nie je videná v súbore údajov o tréningu, model priradí tejto kategórii nulovú pravdepodobnosť a potom nie je možné urobiť predpoveď.
Ako zostaviť základný model pomocou algoritmu Naive Bayes
Existujú tri typy modelov Naive Bayes, tj Gaussian, Multinomial a Bernoulli. Poďme diskutovať o každej z nich stručne.
1. Gaussovský: Gaussovský naivný Bayesov algoritmus predpokladá, že spojité hodnoty zodpovedajúce každému prvku sú rozdelené podľa gaussovského rozdelenia, ktoré sa tiež nazýva normálne rozdelenie.
Pravdepodobnosť alebo predchádzajúca pravdepodobnosť prediktora danej triedy sa považuje za Gaussovu, a preto je možné podmienenú pravdepodobnosť vypočítať ako:
2. Multinomické: Frekvencie výskytu určitých udalostí predstavované znakovými vektormi sa generujú pomocou multinomického rozdelenia. Tento model sa bežne používa na klasifikáciu dokumentov.
3. Bernoulli: V tomto modeli sú vstupy opísané vlastnosťami, ktoré sú nezávislými binárnymi premennými alebo booleovskými hodnotami. To sa tiež široko používa pri klasifikácii dokumentov, ako je Multinomial Naive Bayes.
Na spracovanie a klasifikáciu množiny údajov môžete použiť ktorýkoľvek z vyššie uvedených modelov.
Môžete si zostaviť gaussovský model pomocou Pythonu pochopením nasledujúceho príkladu:
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)
Výkon:
((3, 4))
záver
V tomto článku sme sa podrobne naučili pojmy algoritmu Naive Bayes. Používa sa väčšinou pri klasifikácii textu. Je ľahké ho implementovať a rýchlo vykonať. Jeho hlavnou nevýhodou je, že vyžaduje, aby vlastnosti boli nezávislé, čo v aplikáciách v reálnom živote neplatí.
Odporúčané články
Toto bol sprievodca algoritmom Naive Bayes. Tu sme diskutovali o základnom koncepte, práci, výhodách a nevýhodách naivného Bayesovho algoritmu. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Posilňujúci algoritmus
- Algoritmus v programovaní
- Úvod do algoritmu