Qu'est-ce que l'algorithme Naive Bayes?

L'algorithme Naive Bayes est une technique qui aide à construire des classificateurs. Les classificateurs sont les modèles qui classent les instances du problème et leur donnent des étiquettes de classe qui sont représentées comme des vecteurs de prédicteurs ou des valeurs d'entité. Il est basé sur le théorème de Bayes. Il est appelé Bayes naïf car il suppose que la valeur d'une entité est indépendante de l'autre entité, c'est-à-dire que la modification de la valeur d'une entité n'affecterait pas la valeur de l'autre entité. Il est également appelé idiot Bayes pour la même raison. Cet algorithme fonctionne efficacement pour les grands ensembles de données, donc le mieux adapté aux prévisions en temps réel.

Il aide à calculer la probabilité postérieure P (c | x) en utilisant la probabilité antérieure de classe P (c), la probabilité antérieure de prédicteur P (x) et la probabilité de prédicteur d'une classe donnée, également appelée probabilité P (x | c ).

La formule ou l'équation pour calculer la probabilité postérieure est:

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

Comment fonctionne l'algorithme Naive Bayes?

Comprenons le fonctionnement de Naive Bayes Algorithm à l'aide d'un exemple. Nous supposons un ensemble de données d'entraînement de la météo et la variable cible «Faire du shopping». Nous allons maintenant classer si une fille ira faire du shopping en fonction des conditions météorologiques.

L'ensemble de données donné est:

MétéoAller faire du shopping
EnsoleilléNon
PluvieuxOui
CouvertOui
EnsoleilléOui
CouvertOui
PluvieuxNon
EnsoleilléOui
EnsoleilléOui
PluvieuxNon
PluvieuxOui
CouvertOui
PluvieuxNon
CouvertOui
EnsoleilléNon

Les étapes suivantes seraient effectuées:

Étape 1: créer des tableaux de fréquences à l'aide d'ensembles de données.

MétéoOuiNon
Ensoleillé32
Couvert40
Pluvieux23
Total95

Étape 2: Faites un tableau de vraisemblance en calculant les probabilités de chaque condition météorologique et en faisant du shopping.

MétéoOuiNonProbabilité
Ensoleillé325/14 = 0, 36
Couvert404/14 = 0, 29
Pluvieux235/14 = 0, 36
Total95
Probabilité9/14 = 0, 645/14 = 0, 36

Étape 3: Maintenant, nous devons calculer la probabilité postérieure en utilisant l'équation de Naive Bayes pour chaque classe.

Exemple de problème: Une fille ira faire du shopping si le temps est couvert. Cette affirmation est-elle correcte?

Solution:

  • P (Oui | Couvert) = (P (Couvert | Oui) * P (Oui)) / P (Couvert)
  • P (Couvert | Oui) = 4/9 = 0, 44
  • P (Oui) = 9/14 = 0, 64
  • P (couvert) = 4/14 = 0, 39

Maintenant, mettez toutes les valeurs calculées dans la formule ci-dessus

  • P (Oui | Couvert) = (0, 44 * 0, 64) / 0, 39
  • P (Oui | Couvert) = 0, 722

La classe ayant la probabilité la plus élevée serait le résultat de la prédiction. En utilisant la même approche, les probabilités de différentes classes peuvent être prédites.

À quoi sert l'algorithme Naive Bayes?

1. Prédiction en temps réel: l' algorithme Naive Bayes est rapide et toujours prêt à apprendre, donc le mieux adapté aux prédictions en temps réel.

2. Prédiction multi-classes: La probabilité de multi-classes de n'importe quelle variable cible peut être prédite en utilisant un algorithme Naive Bayes.

3. Système de recommandation: Le classificateur Naive Bayes à l'aide du filtrage collaboratif construit un système de recommandation. Ce système utilise des techniques d'exploration de données et d'apprentissage automatique pour filtrer les informations qui n'ont pas été vues auparavant et prédire ensuite si un utilisateur apprécierait une ressource donnée ou non.

4. Classification du texte / analyse des sentiments / filtrage des spams: en raison de ses meilleures performances avec les problèmes multi-classes et de sa règle d'indépendance, l'algorithme Naive Bayes fonctionne mieux ou a un taux de réussite plus élevé dans la classification des textes. Par conséquent, il est utilisé dans l'analyse des sentiments et Filtrage anti-spam.

Avantages de l'algorithme Naive Bayes

  • Facile à mettre en œuvre.
  • Vite
  • Si l'hypothèse d'indépendance est vérifiée, elle fonctionne plus efficacement que les autres algorithmes.
  • Il nécessite moins de données d'entraînement.
  • Il est hautement évolutif.
  • Il peut faire des prédictions probabilistes.
  • Peut gérer à la fois des données continues et discrètes.
  • Insensible aux fonctionnalités non pertinentes.
  • Il peut fonctionner facilement avec des valeurs manquantes.
  • Facile à mettre à jour à l'arrivée de nouvelles données.
  • Idéal pour les problèmes de classification de texte.

Inconvénients de l'algorithme Naive Bayes

  • L'hypothèse forte sur les fonctionnalités d'être indépendant, ce qui n'est guère vrai dans les applications réelles.
  • Rareté des données.
  • Chances de perte de précision.
  • Fréquence zéro, c'est-à-dire que si la catégorie d'une variable catégorielle n'est pas vue dans l'ensemble de données d'apprentissage, le modèle attribue une probabilité nulle à cette catégorie et une prédiction ne peut alors pas être faite.

Comment construire un modèle de base à l'aide de l'algorithme Naive Bayes

Il existe trois types de modèles bayésiens naïfs: gaussien, multinomial et Bernoulli. Laissez-nous discuter brièvement de chacun d'eux.

1. Gaussien: l' algorithme gaussien Naive Bayes suppose que les valeurs continues correspondant à chaque caractéristique sont distribuées selon la distribution gaussienne également appelée distribution normale.

La probabilité ou la probabilité antérieure de prédicteur de la classe donnée est supposée être gaussienne, par conséquent, la probabilité conditionnelle peut être calculée comme suit:

2. Multinomial: Les fréquences de l'occurrence de certains événements représentés par des vecteurs caractéristiques sont générées en utilisant la distribution multinomiale. Ce modèle est largement utilisé pour la classification des documents.

3. Bernoulli: Dans ce modèle, les entrées sont décrites par les caractéristiques qui sont des variables binaires indépendantes ou booléennes. Ceci est également largement utilisé dans la classification des documents comme Multinomial Naive Bayes.

Vous pouvez utiliser l'un des modèles ci-dessus selon les besoins pour gérer et classer l'ensemble de données.

Vous pouvez construire un modèle gaussien en utilisant Python en comprenant l'exemple donné ci-dessous:

Code:

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)

Production:

((3, 4))

Conclusion

Dans cet article, nous avons appris en détail les concepts de l'algorithme Naive Bayes. Il est principalement utilisé dans la classification des textes. Il est facile à mettre en œuvre et rapide à exécuter. Son inconvénient majeur est qu'il nécessite que les fonctionnalités soient indépendantes, ce qui n'est pas vrai dans les applications réelles.

Articles recommandés

Cela a été un guide pour l'algorithme Naive Bayes. Ici, nous avons discuté du concept de base, du fonctionnement, des avantages et des inconvénients de l'algorithme Naive Bayes. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Boosting Algorithm
  2. Algorithme de programmation
  3. Introduction à l'algorithme

Catégorie: