Un clasificator Bayes naiv, o familie de algoritmi bazați pe teorema lui Bayes. În ciuda presupunerii naive a independenței caracteristicilor, acești clasificatori sunt utilizați pe scară largă pentru simplitatea și eficiența lor în învățarea automată. Articolul analizează teorie, implementare și aplicații, aruncând lumină asupra utilității lor practice, în ciuda presupunerilor prea simplificate.
Ce sunt clasificatorii naivi Bayes?
Clasificatorii naivi Bayes sunt o colecție de algoritmi de clasificare bazați pe teorema lui Bayes. Nu este un singur algoritm, ci o familie de algoritmi în care toți împărtășesc un principiu comun, adică fiecare pereche de caracteristici clasificate este independentă una de alta. Pentru început, să luăm în considerare un set de date.
Unul dintre cei mai simpli și eficienți algoritmi de clasificare, clasificatorul Naïve Bayes ajută la dezvoltarea rapidă a modelelor de învățare automată cu capacități de predicție rapidă.
Algoritmul Naïve Bayes este utilizat pentru probleme de clasificare. Este foarte utilizat în clasificarea textului. În sarcinile de clasificare a textului, datele conțin dimensiune mare (fiecare cuvânt reprezintă o caracteristică a datelor). Este folosit în filtrarea spam-ului, detectarea sentimentelor, clasificarea evaluărilor etc. Avantajul utilizării naive Bayes este viteza sa. Este rapid și este ușor să faceți predicții cu o dimensiune mare a datelor.
Acest model prezice probabilitatea ca o instanță să aparțină unei clase cu un set dat de valoare caracteristică. Este un clasificator probabilistic. Se datorează faptului că presupune că o caracteristică din model este independentă de existența unei alte caracteristici. Cu alte cuvinte, fiecare caracteristică contribuie la predicții fără nicio relație între ele. În lumea reală, această condiție se satisface rar. Folosește teorema Bayes în algoritm pentru antrenament și predicție
De ce se numește Naive Bayes?
Partea Naive a numelui indică ipoteza simplificatoare făcută de clasificatorul Naïve Bayes. Clasificatorul presupune că trăsăturile folosite pentru a descrie o observație sunt independente condiționat, având în vedere eticheta de clasă. Partea Bayes a numelui se referă la reverendul Thomas Bayes, un statistician și teolog din secolul al XVIII-lea care a formulat teorema lui Bayes.
Luați în considerare un set de date fictiv care descrie condițiile meteorologice pentru a juca un joc de golf. Având în vedere condițiile meteorologice, fiecare tuplu clasifică condițiile ca fiind potrivite (Da) sau nepotrivite (Nu) pentru a juca golf. Iată o reprezentare tabelară a setului nostru de date.
Outlook | Temperatura | Umiditate | Vânt | Joaca golf | |
---|---|---|---|---|---|
0 | Ploios | Fierbinte | Înalt | Fals | Nu |
1 | Ploios | Fierbinte | Înalt | Adevărat | Nu |
2 | Acoperit de nori | Fierbinte | Înalt | Fals | da |
3 | Însorit | Blând | Înalt | Fals | da |
4 | Însorit | Misto | Normal | Fals | da |
5 | Însorit | Misto | Normal | Adevărat | Nu |
6 | Acoperit de nori | Misto | Normal | Adevărat | da |
7 | Ploios | Blând | Înalt | Fals | Nu |
8 | Ploios | Misto | Normal | Fals | da |
9 | Însorit | Blând | Normal | Fals | da |
10 | Ploios | Blând | Normal | Adevărat | da |
unsprezece | Acoperit de nori | Blând | Înalt | Adevărat | da |
12 | Acoperit de nori | Fierbinte | Normal | Fals | da |
13 | Însorit | Blând | Înalt | Adevărat | Nu |
Setul de date este împărțit în două părți și anume, matricea de caracteristici si vector de răspuns .
- Matricea de caracteristici conține toți vectorii (rândurile) setului de date în care fiecare vector constă din valoarea lui caracteristici dependente . În setul de date de mai sus, caracteristicile sunt „Outlook”, „Temperatura”, „Umiditate” și „Vântul”.
- Vectorul de răspuns conține valoarea lui variabila de clasa (predicție sau ieșire) pentru fiecare rând de matrice de caracteristici. În setul de date de mai sus, numele variabilei de clasă este „Play golf”.
Asumarea lui Bayes naiv
Ipoteza fundamentală Naive Bayes este că fiecare caracteristică face un:
- Independența caracteristicilor: Caracteristicile datelor sunt condiționat independente unele de altele, având în vedere eticheta clasei.
- Caracteristicile continue sunt distribuite în mod normal: Dacă o caracteristică este continuă, atunci se presupune că este distribuită în mod normal în cadrul fiecărei clase.
- Caracteristicile discrete au distribuții multinomiale: Dacă o caracteristică este discretă, atunci se presupune că are o distribuție multinomială în cadrul fiecărei clase.
- Caracteristicile sunt la fel de importante: Se presupune că toate caracteristicile contribuie în mod egal la predicția etichetei clasei.
- Nu lipsesc date: Datele nu trebuie să conțină valori lipsă.
În legătură cu setul nostru de date, acest concept poate fi înțeles ca:
- Presupunem că nicio pereche de caracteristici nu este dependentă. De exemplu, temperatura fiind „Fierbinte” nu are nimic de-a face cu umiditatea sau perspectiva fiind „ploioasă” nu are niciun efect asupra vântului. Prin urmare, se presupune că caracteristicile sunt independent .
- În al doilea rând, fiecărei caracteristici i se acordă aceeași pondere (sau importanță). De exemplu, cunoașterea numai a temperaturii și umidității nu poate prezice rezultatul cu exactitate. Niciunul dintre atribute nu este irelevant și se presupune că contribuie in aceeasi masura la rezultat.
Ipotezele făcute de Naive Bayes nu sunt în general corecte în situațiile din lumea reală. De fapt, ipoteza de independență nu este niciodată corectă, dar adesea funcționează bine în practică. Acum, înainte de a trece la formula pentru Naive Bayes, este important să știm despre teorema lui Bayes.
jquery părinte
Teorema lui Bayes
Teorema lui Bayes găsește probabilitatea ca un eveniment să se producă având în vedere probabilitatea unui alt eveniment care a avut deja loc. Teorema lui Bayes este formulată matematic ca următoarea ecuație:
unde A și B sunt evenimente și P(B) ≠ 0
- Practic, încercăm să găsim probabilitatea evenimentului A, având în vedere că evenimentul B este adevărat. Evenimentul B este, de asemenea, numit ca dovezi .
- P(A) este a priori de A (probabilitatea anterioară, adică probabilitatea evenimentului înainte de a se vedea dovezile). Dovezile sunt o valoare de atribut a unei instanțe necunoscute (aici, este evenimentul B).
- P(B) este probabilitatea marginală: probabilitatea dovezilor.
- P(A|B) este probabilitatea a posteriori a lui B, adică probabilitatea unui eveniment după ce se observă dovezi.
- P(B|A) este probabilitatea probabilității, adică probabilitatea ca o ipoteză să se adeverească pe baza dovezilor.
Acum, în ceea ce privește setul nostru de date, putem aplica teorema lui Bayes în următorul mod:
unde, y este variabila de clasă și X este un vector caracteristic dependent (de dimensiune n ) Unde:
Pentru a clarifica, un exemplu de vector de caracteristică și variabilă de clasă corespunzătoare poate fi: (consultați primul rând al setului de date)
X = (Rainy, Hot, High, False)>
y = No>
Deci, practic,
În legătură cu setul nostru de date, acest concept poate fi înțeles ca:
- Presupunem că nicio pereche de caracteristici nu este dependentă. De exemplu, temperatura fiind „Fierbinte” nu are nimic de-a face cu umiditatea sau perspectiva fiind „ploioasă” nu are niciun efect asupra vântului. Prin urmare, se presupune că caracteristicile sunt independent .
- În al doilea rând, fiecărei caracteristici i se acordă aceeași pondere (sau importanță). De exemplu, cunoașterea numai a temperaturii și umidității nu poate prezice rezultatul cu exactitate. Niciunul dintre atribute nu este irelevant și se presupune că contribuie in aceeasi masura la rezultat.
Acum, este timpul să punem o presupunere naivă teoremei lui Bayes, care este, independenţă printre caracteristici. Așa că acum, ne-am despărțit dovezi în părțile independente.
Acum, dacă oricare două evenimente A și B sunt independente, atunci,
P(A,B) = P(A)P(B)>
Prin urmare, ajungem la rezultat:
avantajele energiei electrice
care poate fi exprimat astfel:
Acum, deoarece numitorul rămâne constant pentru o intrare dată, putem elimina acel termen:
Acum, trebuie să creăm un model de clasificator. Pentru aceasta, găsim probabilitatea unui set dat de intrări pentru toate valorile posibile ale variabilei de clasă și și ridicați rezultatul cu probabilitate maximă. Aceasta poate fi exprimată matematic astfel:
Deci, în sfârșit, ne rămâne cu sarcina de a calcula
Te rog noteaza asta
Diferiții clasificatori Bayes naivi diferă în principal prin ipotezele pe care le fac cu privire la distribuția
Să încercăm să aplicăm manual formula de mai sus pe setul nostru de date meteorologice. Pentru aceasta, trebuie să facem câteva precalculări pe setul nostru de date.
Trebuie să găsim
Deci, în figura de mai sus, am calculat
De asemenea, trebuie să găsim probabilitățile de clasă
Așa că, acum, am terminat cu precalculațiile noastre și clasificatorul este gata!
Să-l testăm pe un nou set de caracteristici (să-l numim astăzi):
ce luni sunt in q3
today = (Sunny, Hot, Normal, False)>
iar probabilitatea de a nu juca golf este dată de:
Deoarece P(azi) este comună în ambele probabilități, putem ignora P(azi) și găsim probabilități proporționale ca:
și
Acum, de când
Aceste numere pot fi convertite într-o probabilitate făcând suma egală cu 1 (normalizare):
și
De cand
Deci, predicția că se va juca golf este „Da”.
Metoda pe care am discutat mai sus este aplicabilă pentru date discrete. În cazul datelor continue, trebuie să facem câteva ipoteze cu privire la distribuția valorilor fiecărei caracteristici. Diferiții clasificatori Bayes naivi diferă în principal prin ipotezele pe care le fac cu privire la distribuția
Tipuri de model Bayes naiv
Există trei tipuri de model Bayes naiv:
număr prim java
Clasificator Bayes naiv gaussian
În Gaussian Naive Bayes, se presupune că valorile continue asociate fiecărei caracteristici sunt distribuite conform unei distribuții gaussiene. O distribuție gaussiană se mai numește Distributie normala Când este reprezentat grafic, oferă o curbă în formă de clopot care este simetrică față de media valorilor caracteristicilor, așa cum se arată mai jos:
Tabelul actualizat al probabilităților anterioare pentru caracteristica Outlook este după cum urmează:
Se presupune că probabilitatea caracteristicilor este gaussiană, prin urmare, probabilitatea condiționată este dată de:
Acum, ne uităm la o implementare a clasificatorului Gaussian Naive Bayes folosind scikit-learn.
| da | Nu | P(Da) | P(Nu) |
---|---|---|---|---|
Însorit | 3 | 2 | 3/9 | 2/5 |
Ploios | 4 | 0 | 4/9 format data în șir | 0/5 |
Acoperit de nori | 2 | 3 | 2/9 | 3/5 |
Total | 9 | 5 | 100% | 100% |
Piton
# load the iris dataset> from> sklearn.datasets> import> load_iris> iris> => load_iris()> > # store the feature matrix (X) and response vector (y)> X> => iris.data> y> => iris.target> > # splitting X and y into training and testing sets> from> sklearn.model_selection> import> train_test_split> X_train, X_test, y_train, y_test> => train_test_split(X, y, test_size> => 0.4> , random_state> => 1> )> > # training the model on training set> from> sklearn.naive_bayes> import> GaussianNB> gnb> => GaussianNB()> gnb.fit(X_train, y_train)> > # making predictions on the testing set> y_pred> => gnb.predict(X_test)> > # comparing actual response values (y_test) with predicted response values (y_pred)> from> sklearn> import> metrics> print> (> 'Gaussian Naive Bayes model accuracy(in %):'> , metrics.accuracy_score(y_test, y_pred)> *> 100> )> |
Output: Gaussian Naive Bayes model accuracy(in %): 95.0 Multinomial Naive Bayes Feature vectors represent the frequencies with which certain events have been generated by a multinomial distribution. This is the event model typically used for document classification. Bernoulli Naive Bayes In the multivariate Bernoulli event model, features are independent booleans (binary variables) describing inputs. Like the multinomial model, this model is popular for document classification tasks, where binary term occurrence(i.e. a word occurs in a document or not) features are used rather than term frequencies(i.e. frequency of a word in the document). Advantages of Naive Bayes ClassifierEasy to implement and computationally efficient.Effective in cases with a large number of features.Performs well even with limited training data.It performs well in the presence of categorical features. For numerical features data is assumed to come from normal distributionsDisadvantages of Naive Bayes ClassifierAssumes that features are independent, which may not always hold in real-world data.Can be influenced by irrelevant attributes.May assign zero probability to unseen events, leading to poor generalization.Applications of Naive Bayes Classifier Spam Email Filtering : Classifies emails as spam or non-spam based on features. Text Classification : Used in sentiment analysis, document categorization, and topic classification. Medical Diagnosis: Helps in predicting the likelihood of a disease based on symptoms. Credit Scoring: Evaluates creditworthiness of individuals for loan approval. Weather Prediction : Classifies weather conditions based on various factors.As we reach to the end of this article, here are some important points to ponder upon: In spite of their apparently over-simplified assumptions, naive Bayes classifiers have worked quite well in many real-world situations, famously document classification and spam filtering. They require a small amount of training data to estimate the necessary parameters.Naive Bayes learners and classifiers can be extremely fast compared to more sophisticated methods. The decoupling of the class conditional feature distributions means that each distribution can be independently estimated as a one dimensional distribution. This in turn helps to alleviate problems stemming from the curse of dimensionality.ConclusionIn conclusion, Naive Bayes classifiers, despite their simplified assumptions, prove effective in various applications, showcasing notable performance in document classification and spam filtering. Their efficiency, speed, and ability to work with limited data make them valuable in real-world scenarios, compensating for their naive independence assumption. Frequently Asked Questions on Naive Bayes ClassifiersWhat is Naive Bayes real example?Naive Bayes is a simple probabilistic classifier based on Bayes’ theorem. It assumes that the features of a given data point are independent of each other, which is often not the case in reality. However, despite this simplifying assumption, Naive Bayes has been shown to be surprisingly effective in a wide range of applications. Why is it called Naive Bayes?Naive Bayes is called naive because it assumes that the features of a data point are independent of each other. This assumption is often not true in reality, but it does make the algorithm much simpler to compute. What is an example of a Bayes classifier?A Bayes classifier is a type of classifier that uses Bayes’ theorem to compute the probability of a given class for a given data point. Naive Bayes is one of the most common types of Bayes classifiers. What is better than Naive Bayes?There are several classifiers that are better than Naive Bayes in some situations. For example, logistic regression is often more accurate than Naive Bayes, especially when the features of a data point are correlated with each other. Can Naive Bayes probability be greater than 1?No, the probability of an event cannot be greater than 1. The probability of an event is a number between 0 and 1, where 0 indicates that the event is impossible and 1 indicates that the event is certain.>