Naive Bayes Classifier : Avantages et inconvénients, applications et types expliqués

Publié: 2020-12-11

Lorsque vous avez besoin d'un algorithme de résolution rapide de problèmes, où allez-vous ? Vous allez au classificateur Naive Bayes. C'est un algorithme simple et rapide qui peut résoudre divers problèmes de classification. Dans cet article, nous allons comprendre ce qu'est cet algorithme, comment il fonctionne et quelles sont ses qualités. Commençons.

Table des matières

Qu'est-ce que le classificateur naïf de Bayes ?

Le classificateur Naive Bayes sépare les données en différentes classes selon le théorème de Bayes, ainsi que l'hypothèse que tous les prédicteurs sont indépendants les uns des autres. Il suppose qu'une caractéristique particulière dans une classe n'est pas liée à la présence d'autres caractéristiques.

Par exemple, vous pouvez considérer qu'un fruit est une pastèque s'il est vert, rond et a un diamètre de 10 pouces. Ces caractéristiques pourraient dépendre les unes des autres pour leur existence, mais chacune d'entre elles contribue indépendamment à la probabilité que le fruit considéré soit une pastèque. C'est pourquoi ce classificateur a le terme "naïf" dans son nom.

Cet algorithme est très populaire car il peut même surpasser les techniques de classification très avancées. De plus, c'est assez simple et vous pouvez le construire rapidement.

Voici le théorème de Bayes, qui est à la base de cet algorithme :

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

Dans cette équation, 'c' représente la classe et 'x' représente les attributs. P(c/x) représente la probabilité a posteriori de la classe selon le prédicteur. P(x) est la probabilité a priori du prédicteur et P(c) est la probabilité a priori de la classe. P(x/c) montre la probabilité du prédicteur selon la classe.

Lire : Bayes naïf expliqué

Avantages de Naive Bayes

  • Cet algorithme fonctionne très rapidement et peut facilement prédire la classe d'un jeu de données de test.
  • Vous pouvez l'utiliser pour résoudre des problèmes de prédiction multi-classes car il est très utile avec eux.
  • Le classificateur Naive Bayes fonctionne mieux que les autres modèles avec moins de données d'apprentissage si l'hypothèse d'indépendance des caractéristiques est vérifiée.
  • Si vous avez des variables d'entrée catégorielles, l'algorithme Naive Bayes fonctionne exceptionnellement bien par rapport aux variables numériques.

Inconvénients de Naive Bayes

  • Si votre ensemble de données de test contient une variable catégorielle d'une catégorie qui n'était pas présente dans l'ensemble de données d'apprentissage, le modèle Naive Bayes lui attribuera une probabilité nulle et ne pourra pas faire de prédictions à cet égard. Ce phénomène est appelé "Fréquence zéro", et vous devrez utiliser une technique de lissage pour résoudre ce problème.
  • Cet algorithme est également connu comme un mauvais estimateur. Donc, vous ne devriez pas prendre trop au sérieux les sorties de probabilité de 'predict_proba'.
  • Il suppose que toutes les fonctionnalités sont indépendantes. Bien que cela puisse sembler génial en théorie, dans la vraie vie, vous trouverez à peine un ensemble de fonctionnalités indépendantes.

Applications de l'algorithme naïf de Bayes

Comme vous avez dû le remarquer, cet algorithme offre de nombreux avantages à ses utilisateurs. C'est pourquoi il a également de nombreuses applications dans divers secteurs. Voici quelques applications de l'algorithme Naive Bayes :

  • Comme cet algorithme est rapide et efficace, vous pouvez l'utiliser pour faire des prédictions en temps réel.
  • Cet algorithme est populaire pour les prédictions multi-classes. Vous pouvez facilement trouver la probabilité de plusieurs classes cibles en utilisant cet algorithme.
  • Les services de messagerie (comme Gmail) utilisent cet algorithme pour déterminer si un e-mail est un spam ou non. Cet algorithme est excellent pour le filtrage des spams.
  • Son hypothèse d'indépendance des fonctionnalités et son efficacité dans la résolution de problèmes multi-classes le rendent parfait pour effectuer une analyse des sentiments. L'analyse des sentiments fait référence à l'identification des sentiments positifs ou négatifs d'un groupe cible (clients, public, etc.)
  • Le filtrage collaboratif et l'algorithme Naive Bayes fonctionnent ensemble pour créer des systèmes de recommandation. Ces systèmes utilisent l'exploration de données et l'apprentissage automatique pour prédire si l'utilisateur aimerait ou non une ressource particulière.

Lisez aussi : Explication des modèles d'apprentissage automatique

Types de classificateur Bayes naïf

Cet algorithme a plusieurs sortes. Voici les principaux :

Bernoulli Naïf Bayes

Ici, les prédicteurs sont des variables booléennes. Ainsi, les seules valeurs que vous avez sont 'True' et 'False' (vous pouvez également avoir 'Oui' ou 'Non'). Nous l'utilisons lorsque les données sont conformes à la distribution multivariée de Bernoulli.

Bayes naïf multinomial

Les gens utilisent cet algorithme pour résoudre des problèmes de classification de documents. Par exemple, si vous souhaitez déterminer si un document appartient à la catégorie "Juridique" ou à la catégorie "Ressources humaines", vous utiliserez cet algorithme pour le trier. Il utilise la fréquence des mots présents comme caractéristiques.

Bayes naïf gaussien

Si les prédicteurs ne sont pas discrets mais ont une valeur continue, nous supposons qu'il s'agit d'un échantillon d'une distribution gaussienne.

Conclusion

Nous espérons que vous avez trouvé cet article utile. Si vous avez des questions concernant l'algorithme Naive Bayes, n'hésitez pas à les partager dans la section des commentaires. Nous aimerions recevoir de vos nouvelles.

Si vous souhaitez en savoir plus sur l'IA, l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions, Statut d'ancien de l'IIIT-B, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Quelles sont les limites de Naive Bayes ?

Le classificateur naïf de Bayes est un algorithme utilisé pour classer de nouvelles instances de données à l'aide d'un ensemble de données d'apprentissage connues. C'est un bon algorithme de classification ; cependant, le nombre d'entités doit être égal au nombre d'attributs dans les données. Il est coûteux en calcul lorsqu'il est utilisé pour classer un grand nombre d'éléments. Il ne convient pas aux données numériques. Cela ne peut fonctionner que lorsque les fonctionnalités sont indépendantes les unes des autres. Il ne convient pas lorsque les valeurs des caractéristiques sont nominales. Il nécessite que les valeurs de caractéristique soient mutuellement exclusives. Il exige que la fréquence des valeurs de caractéristique soit proportionnelle à la probabilité qu'elles soient correctes.

Quel est le plus grand avantage et inconvénient des classificateurs Naive Bayes ?

Le plus grand avantage de Naive Bayes est qu'il peut fonctionner avec de très petits ensembles de données. C'est l'un des algorithmes les plus populaires pour le filtrage des spams. De plus, il est relativement simple à mettre en œuvre. Il est presque toujours utilisé comme classificateur. Si un ensemble de données n'est pas disponible, on peut toujours l'utiliser comme algorithme de classification. Cet algorithme est utilisé dans le filtrage des spams des e-mails, il est également utilisé par Google pour classer les pages Web. Cependant, il peut ne pas être aussi efficace dans les problèmes de classification plus complexes. Cela ne peut fonctionner que lorsque les fonctionnalités sont indépendantes les unes des autres.

Comment puis-je arrêter le surajustement dans Naive Bayes ?

L'une des raisons du surajustement est d'avoir de mauvaises données d'entraînement. Si vous avez un ensemble de données d'apprentissage avec beaucoup de bruit et que vous avez beaucoup d'exemples d'apprentissage, le classificateur examinera le bruit dans les données d'apprentissage et non le modèle sous-jacent pour lequel vous essayez de créer un modèle. Une autre raison est que votre modèle est tout simplement trop complexe. Si vous avez un modèle où un petit changement d'entrée peut entraîner un grand changement de sortie, vous pouvez obtenir un surajustement. Une autre solution consiste à utiliser la régularisation. La régularisation réduira les longues branches de votre modèle. Il lisse votre modèle et évite le surajustement.