mardi 24 décembre 2019

Implémentation du Naive Bayes sous R

J'ai fait travailler mes étudiants sur la programmation sous R du classifieur bayésien naïf récemment. Schématiquement, la méthode est relativement simple à implémenter, surtout lorsque toutes les variables explicatives sont qualitatives. Il en est de même lorsqu'elles sont toutes quantitatives. Il y a en revanche des choix stratégiques à mettre en place lorsqu'elles sont mixtes. Je pensais que la principale difficulté viendrait de cette partie. Non en réalité. Je me suis rendu compte après coup que le principal écueil était de développer une implémentation performante du déploiement, lorsque nous appliquons le modèle sur des individus supplémentaires. Parce que R possède des caractéristiques qui lui sont propres, les temps d'exécution peuvent varier dans des proportions très importantes selon notre habilité à en tirer profit.

Dans ce tutoriel, nous nous penchons sur la programmation des fonctions fit() - construction du modèle sur un jeu de données - et predict() - application du modèle en prédiction sur un jeu de données - du Naive Bayes. La variable cible est forcément qualitative. Nous nous en tiendrons au cas des variables explicatives qualitatives. L'objectif n'est pas de proposer une resucée du naive bayes. Plusieurs packages disponibles sur le CRAN s'en chargent très bien. Il s'agit surtout pour nous d'étudier l'impact des choix d'implémentation sur les temps d'exécution sous R.

Mots-clés : programmation R, logiciel R, modèle d'indépendance conditionnelle, naive bayes classifier, classification naïve bayésienne
Didacticiel : Naive Bayes sous R
Code source + Données : Heart - Large - Long
Références :
Tutoriel Tanagra, "Le classifieur Bayésien Naïf revisité", mars 2010.
Tutoriel Tanagra, "Programmer efficacement sous R", février 2019.