Classification supervisée : analyse discriminante, régression logistique et arbres avec R
Objectifs pédagogiques
- Connaître et savoir mettre en œuvre les méthodes paramétriques de référence permettant de répondre au problème de discrimination (également appelé classification supervisée) : analyse discriminante, régression logistique.
- Connaître et savoir mettre en œuvre les méthodes d’arbres (CART et random forest) dans le cadre de la classification supervisée.
- Être capable de définir et de calculer des critères permettant de comparer les performances de modèles.
Programme détaillé
La formation traite de modèles adaptés à la prévision de phénomènes qualitatifs en fonction de variables quantitatives et qualitatives.
Présentation du problème de la classification supervisée 3h
- Cadre statistique
- Critères de performance
- Approche scoring
Analyse discriminante linéaire 3h
- Approche descriptive
- Approche prédictive
- Analyse discriminante quadratique
- Applications sur cas pratiques
Régression logistique 6h
- Présentation du modèle
- Estimation des paramètres et tests
- Sélection de modèle
- Introduction aux méthodes pénalisées (ridge et lasso)
- Applications sur cas pratiques
Arbres 6h
- Méthodologie CART (arbres de décision)
- Agrégation (bagging) d’arbres : forêts aléatoires
- Applications sur cas pratiques
Public visé
Data analysts, chargés d’études statistiques, data scientists
Prérequis
- Connaissances de base en statistiques descriptives (formation Statistiques descriptives avec R).
- Connaissances de base en statistique inférentielle (formation Statistique inférentielle : estimation ponctuelle, intervalle de confiance et test statistique).
- Connaissances de base du logiciel R (formation R initiation).
Approche pédagogique
Calculés à partir de 27 avis recueillis depuis 07/06/2016, lors de 6 sessions de cette formation.
Classification supervisée sous R : MASS, glm, glmnet, rpart et leurs origines
Sous R, chacune des grandes méthodes de classification supervisée a son package de référence, souvent écrit par les statisticiens qui ont contribué à la méthode elle-même. Un rapide tour d’horizon, de l’analyse discriminante aux forêts aléatoires.
Analyse discriminante : MASS
lda() et qda() font partie de MASS, le package qui accompagne l’ouvrage Modern Applied Statistics with S de Venables et Ripley. Il est installé avec R et constitue l’une de ses briques historiques.
library(MASS)
fit_lda <- lda(classe ~ ., data = train)
predict(fit_lda, newdata = test)$class
Régression logistique : glm, puis glmnet pour la pénalisation
La régression logistique ne demande aucun package : glm() avec family = binomial fournit coefficients, écarts-types et tests, et step() automatise une sélection de variables par critère d’information (AIC).
fit_glm <- glm(defaut ~ age + revenu + statut, data = train, family = binomial)
summary(fit_glm)
exp(coef(fit_glm)) # odds-ratios
Les versions pénalisées (ridge, lasso) sont l’affaire de glmnet, développé par Friedman, Hastie et Tibshirani, ce dernier étant l’inventeur du lasso (1996). Le paramètre alpha passe continûment du ridge (alpha = 0) au lasso (alpha = 1).
Arbres et forêts : rpart, randomForest
rpart (Recursive Partitioning) implémente la méthodologie CART de Breiman, Friedman, Olshen et Stone (1984). S’il ne s’appelle pas « CART », c’est que ce nom était une marque déposée. randomForest est quant à lui le portage sous R du code original de Leo Breiman et Adele Cutler, inventeurs des forêts aléatoires (2001). Des implémentations plus rapides existent, comme ranger.
Comparer les modèles : pROC
Courbe ROC et aire sous la courbe (AUC) s’obtiennent avec pROC :
library(pROC)
auc(roc(test$defaut, predict(fit_glm, test, type = "response")))
Pour enchaîner ces modèles dans un même cadre (préparation des données, validation croisée, réglage des hyperparamètres), l’écosystème tidymodels a pris le relais de caret : voir la formation Pipeline de Machine Learning via Tidymodels en R.