Algorithme Naïve Bayes : principes, fonctionnement et cas applications

ACG Athena Consulting Group Algorithme Naive Bayes cas d'usage

L’algorithme Naive Bayes est l’un des algorithmes de machine learning supervisé les plus anciens et les plus utilisés, notamment pour les problèmes de classification. Malgré sa simplicité et ses hypothèses parfois irréalistes, il reste extrêmement performant dans de nombreux cas pratiques, en particulier lorsqu’il s’agit de données textuelles ou de grands volumes de données.

Principe de fonctionnement

Naive Bayes repose sur le théorème de Bayes, qui permet de calculer la probabilité d’un événement en tenant compte d’informations préalables :

Où :

  • C est une classe (ex : spam / non spam)
  • X est un ensemble de caractéristiques (features)
  • P(C) est la probabilité a priori de la classe
  • P(X|C) est la probabilité d’observer X sachant C

L’aspect « naïf » de Naive Bayes vient de l’hypothèse suivante :

Les caractéristiques sont conditionnellement indépendantes entre elles, sachant la classe.

Cela signifie que chaque variable est supposée contribuer indépendamment au résultat final, ce qui est rarement vrai dans la réalité, mais fonctionne étonnamment bien dans la pratique.

Pour chaque classe possible, l’algorithme calcule les différentes probabilités. La classe ayant la probabilité la plus élevée est alors choisie selon l’expression suivante :

Cas d’application

Marketing et E-Commerce

  • Classification de clients (intéressé / non intéressé)
  • Analyse de sentiments des avis clients
  • Recommandation de produits basée sur des comportements simples

Cybersécurité

  • Détection des spams dans les emails
  • Identification de messages frauduleux (pishing)
  • Filtrage de contenus malveillants

Santé

  • Aide au diagnostic médical
  • Classification de maladies à partir de symptômes
  • Analyse de données biologiques ou cliniques

Finance

  • Evaluation du risque de crédit
  • Détection de transactions frauduleuses

Industrie et maintenance

  • Classification des pannes
  • Analyse prédictive des défaillances
  • Analyse des retours utilisateurs
  • Catégorisation automatique des tickets de support

Ressources humaines

  • Tri automatique de CV
  • Prédiction de compatibilité entre profils et postes

Exemple concret

On souhaite déterminer si un email est Spam ou Non Spam en fonction des mots qu’il contient. Supposons qu’on dispose des données d’entrainement ci-après :

EmailContient “gratuit”Contient “urgent”Classe
1OuiOuiSpam
2OuiNonSpam
3NonOuiSpam
4NonNonNon Spam
5NonNonNon Spam

Etape 1 : à partir des données (tableau ci-dessus) on va déterminer les probabilités à priori. On obtient ainsi : P(Spam) = 3 / 5 et P(Non Spam) = 2 / 5.

Etape 2 : on cherchera les probabilités conditionnelles. On obtient ainsi : P(gratuit | Spam) = 2 / 3 ; P(urgent | Spam) = 2 / 3 ; P(gratuit | Non Spam) = 0 / 2 et P(urgent | Non Spam) = 0 / 2.

Etape 3 : cette dernière étape consistera à effectuer la prédiction si un email est ou non un spam en fonction de son contenu. Pour un email contenant “gratuit” et “urgent” :

Athena Consulting Group Exemple Naive Bayes Prediction spam email

L’email est donc classé comme étant un Spam.

Naive Bayes est un algorithme simple mais puissant, particulièrement adapté aux tâches de classification rapide et aux données textuelles. Malgré son caractère « naïf », il constitue souvent un excellent point de départ pour un projet de machine learning et reste largement utilisé dans l’industrie.

Leave a Reply