Machine Learning 3 — Classification
:::tip Notebook Kaggle Le code complet et exécutable de ce chapitre est sur Kaggle : Ouvrir →
Versions anglaise et chinoise disponibles depuis la page d'accueil. :::
Après la régression, attaquons la classification : prédire une catégorie plutôt qu'une valeur numérique. Survie au Titanic, diagnostic médical, espèce de manchot — autant de problèmes où la sortie est discrète.
Pourquoi ce chapitre ?
Vous y découvrez :
- le classifieur Naive Bayes et la probabilité empirique ;
- la matrice de confusion et les métriques propres à la classification (précision, rappel, F1) ;
- le rôle du seuil de décision et les courbes ROC et précision-rappel ;
- les arbres de décision avec l'indice de Gini ;
- les ensembles : forêts aléatoires et gradient boosting.
Naive Bayes
Le classifieur Naive Bayes prédit la classe en se basant sur le théorème de Bayes :
Le mot « naive » vient de l'hypothèse que les variables explicatives sont indépendantes conditionnellement à la classe :
C'est faux en pratique, mais l'approximation marche étonnamment bien et le modèle est très rapide.
from sklearn.naive_bayes import BernoulliNB
model = BernoulliNB(alpha=1.0)
model.fit(X_train, y_train)
y_hat = model.predict(X_test)
La matrice de confusion
L'accuracy (taux de bonne classification) est intuitive mais trompeuse. Imaginez un détecteur de spam qui dit toujours « pas spam » : si 99 % des mails sont légitimes, son accuracy est de 99 %... et il est inutile.
Pour comprendre où un modèle se trompe, nous utilisons la matrice de confusion :
undefined