Classificateur Naive Bayes : théorie et application

-
5
 m de lecture
-

Le classificateur Naive Bayes est une méthode de classification basée sur le théorème de Bayes avec une hypothèse d'indépendance naïve entre les prédicteurs. En dépit de sa simplicité, le classificateur Naive Bayes a prouvé son efficacité dans divers domaines d'application, notamment le filtrage de spam, l'analyse de sentiments et la classification de documents.

Théorie du Classificateur Naive Bayes

Le classificateur Naive Bayes repose sur l’application du théorème de Bayes, qui décrit la probabilité d’un événement, basée sur des connaissances a priori de conditions pouvant être liées à l’événement. La formule du théorème de Bayes est la suivante :

P(A|B) = P(B|A) * P(A) / P(B)

où :

  • P(A|B) est la probabilité de l’événement A étant donné que l’événement B est vrai.
  • P(B|A) est la probabilité de l’événement B étant donné que l’événement A est vrai.
  • P(A) et P(B) sont les probabilités a priori des événements A et B respectivement.

Dans le contexte de la classification, A représente une classe spécifique, et B représente un ensemble de caractéristiques (ou attributs). Le classificateur Naive Bayes calcule la probabilité qu’un exemple appartienne à une classe donnée, en supposant que toutes les caractéristiques sont indépendantes les unes des autres.

Types de Classificateurs Naive Bayes

Naive Bayes Gaussien

Le classificateur Naive Bayes Gaussien est utilisé lorsque les attributs sont continus et suivent une distribution normale. Ce type de classificateur est particulièrement utile dans des contextes où les variables continues sont présentes et peuvent être modélisées par une distribution gaussienne. L’hypothèse sous-jacente est que les données de chaque classe sont distribuées selon une loi normale (ou gaussienne).

Formellement, si nous avons une variable continue x et une classe c, alors la probabilité conditionnelle P(x|c) est donnée par la densité de probabilité de la distribution normale :

P(x|c) = (1 / √(2πσ²_c)) * exp(- (x – μ_c)² / (2σ²_c))

μ_c est la moyenne des valeurs pour la classe c, et σ²_c est la variance des valeurs pour la classe c. Le classificateur Naive Bayes Gaussien est souvent utilisé dans des applications telles que la reconnaissance de formes et la classification d’images.

Exemple

Supposons que nous ayons deux classes c1 et c2 avec les paramètres suivants :

  • Pour c1 : μ_c1 = 5 et σ²_c1 = 1
  • Pour c2 : μ_c2 = 10 et σ²_c2 = 2

Si nous voulons classifier une nouvelle observation x = 6, nous calculons P(x|c1) et P(x|c2) et comparons ces valeurs.

Naive Bayes Multinomial

Le classificateur Naive Bayes Multinomial est souvent utilisé pour la classification de documents où les données sont des fréquences de mots. Ce modèle est bien adapté aux données discrètes, telles que les décomptes de mots ou les événements. Il suppose que les caractéristiques suivent une distribution multinomiale, ce qui est approprié pour les tâches de classification de texte où les caractéristiques sont des occurrences de mots.

Formellement, la probabilité conditionnelle P(x|c) pour une caractéristique x et une classe c est donnée par :

P(x|c) = (n_x,c + α) / (N_c + αN)

n_x,c est le nombre de fois que le mot x apparaît dans les documents de la classe c, N_c est le nombre total de mots dans les documents de la classe c, α est un paramètre de lissage de Laplace, et N est le nombre total de mots distincts. Le lissage de Laplace est utilisé pour gérer le problème des probabilités nulles pour les mots qui n’apparaissent pas dans les documents d’entraînement.

Exemple

Supposons que nous avons deux classes, ‘sport’ et ‘politique’, et que nous voulons classifier le mot ‘match’. Nous avons les décomptes suivants :

  • ‘match’ apparaît 50 fois dans des documents de la classe ‘sport’ et 5 fois dans des documents de la classe ‘politique’.
  • Le nombre total de mots dans la classe ‘sport’ est 1000 et dans la classe ‘politique’ est 800.

Avec un lissage de Laplace α = 1, nous calculons :

  • P(‘match’|’sport’) = (50 + 1) / (1000 + 1 * 1000)
  • P(‘match’|’politique’) = (5 + 1) / (800 + 1 * 1000)

Nous utilisons ces probabilités pour classifier un nouveau document contenant le mot ‘match’.

Naive Bayes Bernoullien

Le classificateur Naive Bayes Bernoullien est adapté aux variables binaires (présence ou absence d’une caractéristique). Ce modèle est principalement utilisé pour les tâches de classification de texte où les caractéristiques sont des indicateurs binaires (0 ou 1) représentant la présence ou l’absence d’un mot particulier.

Dans ce modèle, la probabilité conditionnelle P(x|c) est calculée en fonction de la présence ou de l’absence de la caractéristique :

P(x_i = 1 | c) = (n_i,c + α) / (N_c + 2α)

P(x_i = 0 | c) = 1 – P(x_i = 1 | c)

n_i,c est le nombre de documents de la classe c dans lesquels la caractéristique x_i est présente, et N_c est le nombre total de documents de la classe c. Le paramètre de lissage α est utilisé pour éviter les probabilités nulles.

Exemple

Supposons que nous avons deux classes, ‘spam’ et ‘non-spam’, et que nous voulons classifier l’occurrence du mot ‘gratuit’.

  • ‘gratuit’ apparaît dans 70 des 100 documents de la classe ‘spam’ et dans 20 des 100 documents de la classe ‘non-spam’.

Avec un lissage de Laplace α = 1, nous calculons :

  • P(‘gratuit’ = 1|’spam’) = (70 + 1) / (100 + 2 * 1)
  • P(‘gratuit’ = 0|’spam’) = 1 – P(‘gratuit’ = 1|’spam’)
  • P(‘gratuit’ = 1|’non-spam’) = (20 + 1) / (100 + 2 * 1)
  • P(‘gratuit’ = 0|’non-spam’) = 1 – P(‘gratuit’ = 1|’non-spam’)

Nous utilisons ces probabilités pour classifier un nouveau document en fonction de la présence ou de l’absence du mot ‘gratuit’.

Applications Pratiques

Le classificateur Naive Bayes est utilisé dans de nombreux domaines, notamment :

  • Filtrage de Spam : Identification des courriels indésirables. En utilisant les caractéristiques de l’e-mail, telles que la fréquence de certains mots, le classificateur Naive Bayes peut déterminer la probabilité qu’un e-mail soit un spam ou non.
  • Analyse de Sentiments : Détermination de l’opinion exprimée dans un texte. Le classificateur peut être utilisé pour évaluer si les sentiments exprimés dans des critiques de produits, des commentaires sur les réseaux sociaux ou d’autres textes sont positifs, négatifs ou neutres.
  • Classification de Documents : Catégorisation automatique de textes en fonction de leur contenu. Par exemple, dans les systèmes de gestion de contenu, les articles peuvent être automatiquement classés dans des catégories telles que sports, politique, technologie, etc.

Avantages et Inconvénients

Avantages

  • Simplicité : Facile à comprendre et à mettre en œuvre. Le classificateur Naive Bayes est simple à coder et ne nécessite pas beaucoup de paramètres de réglage.
  • Rapidité : Efficace en termes de calcul, même avec des jeux de données volumineux. En raison de sa simplicité, le classificateur Naive Bayes est extrêmement rapide à former et à prédire.
  • Performance : Peut être très performant, surtout avec des données textuelles. Malgré ses hypothèses simplistes, il donne souvent des résultats compétitifs par rapport à des modèles plus complexes, en particulier dans les tâches de classification de texte.

Inconvénients

  • Hypothèse d’indépendance : L’hypothèse d’indépendance entre les prédicteurs est souvent irréaliste. Dans de nombreux cas pratiques, les caractéristiques ne sont pas réellement indépendantes, ce qui peut entraîner des prédictions sous-optimales.
  • Performances Variables : Peut être surpassé par d’autres méthodes de classification plus sophistiquées lorsque les données ne respectent pas les hypothèses de base. Dans des contextes où les relations entre les caractéristiques sont complexes, des modèles plus avancés comme les machines à vecteurs de support ou les réseaux neuronaux peuvent offrir de meilleures performances.

Conclusion

Le classificateur Naive Bayes reste un outil précieux en apprentissage automatique en raison de sa simplicité et de son efficacité. Bien qu’il repose sur des hypothèses simplifiées, il offre des performances remarquables pour un large éventail d’applications. Que ce soit pour le filtrage de spam, l’analyse de sentiments ou la classification de documents, le Naive Bayes est souvent une première approche efficace à considérer pour la classification supervisée.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?