Data Science — Cours 7

Classification.

Définition

Prédire un label catégoriel discret à partir d'un ensemble d'apprentissage annoté. Processus en 2 étapes : construction du modèle puis prédiction.

Classification vs Prédiction

Classification labels discrets/nominaux
Prédiction fonctions continues (régression)
Applications : crédit, médecin, détection fraude.

Supervisé vs Non-supervisé

Supervisé labels connus → classification
Non-supervisé labels inconnus → clustering
En classification, le test set est indépendant du training set.

Processus en 2 étapes

  • Étape 1 — Construction : algorithme apprend sur training set → produit un modèle (règles, arbre, formule)
  • Étape 2 — Utilisation : estimer accuracy sur test set, puis classifier les nouvelles données

Préparation des données

  • Nettoyage : réduire le bruit, valeurs manquantes
  • Sélection de features : supprimer attributs non pertinents
  • Transformation : normalisation, discrétisation

Overfitting

Trop de branches/règles = le modèle mémorise le bruit → mauvaise généralisation. Solutions :

  • Prépruning : arrêt précoce
  • Postpruning : élagage après coup

Évaluation

  • Accuracy = tuples corrects / total
  • Sensibilité = vrais positifs / positifs réels
  • Spécificité = vrais négatifs / négatifs réels
  • Précision = vrais positifs / (VP + FP)
  • Courbe ROC : TPR vs FPR, AUC idéale = 1.0

Validation croisée

  • Holdout : 2/3 train, 1/3 test
  • K-fold (k=10) : k partitions, chacune test à tour de rôle
  • Leave-one-out : k = nb tuples
  • Bootstrap : échantillonnage avec remise, ~63% dans training

Méthodes d'ensemble

  • Bagging : vote majoritaire sur k modèles bootstrap
  • Boosting / Adaboost : vote pondéré, tuples mal classés → poids augmenté
  • Boosting > accuracy mais risque d'overfitting

Information Gain (ID3)

Gain(A) = Info(D) − InfoA(D)

Info(D) = −Σ pi log2(pi)

Sélectionner l'attribut avec le gain maximal. Biaisé vers attributs multi-valués → C4.5 corrige avec la Gain Ratio.

Gini Index (CART)

gini(D) = 1 − Σ pj²

Favorise partitions équilibrées et pures. Biaisé vers multi-valués, difficile avec nombreuses classes.

Naïve Bayes — clés

  • P(Ci|X) ∝ P(X|Ci) · P(Ci)
  • Indépendance conditionnelle des attributs
  • Correction de Laplace si P = 0
  • Utiliser log-somme pour éviter underflow
  • Frontière de décision quadratique

SVM — clés

  • Hyperplan séparateur à marge maximale
  • Support vectors = tuples les plus proches
  • Kernel trick → espace de dim. supérieure
  • Soft margin → slack variables ξ, paramètre C
  • Kernels : linéaire, polynomial, RBF, sigmoïde

Réseaux de neurones (BP)

  • Input → hidden → output layers
  • Poids ajustés pour minimiser MSE
  • Long à entraîner, peu interprétable
  • Haute tolérance au bruit
  • Régression non-linéaire
Algorithme Principe Points forts Limites
Arbre ID3/C4.5
Information Gain / Gain Ratio
Diviser-pour-régner top-down. Sélection d'attributs par gain d'information. Pruning pour éviter overfitting. Interprétable
Rapide
SQL compatible
Corr. attributs difficiles
Overfitting si pas pruning
Naïve Bayes
Probabiliste
Maximise P(Ci|X) via théorème de Bayes. Suppose indépendance conditionnelle des attributs. Très rapide
Incrémental
Frontière quadratique
Indépendance rarement vraie
Perte d'accuracy
Bayesian Belief Net
Graphe causal (DAG)
Représente les dépendances entre variables. Table CPT par variable. Plus flexible que Naïve Bayes. Modélise dépendances
Distribution jointe
Structure peut être inconnue
Apprentissage complexe
SVM
Marge maximale
Trouve l'hyperplan séparateur à marge maximale. Kernel trick pour données non-linéaires. Soft margin via slack variables. Haute accuracy
Gère hautes dimensions
Convexe → solution unique
Sensible au bruit
Lent si gros dataset
2 classes par défaut
Backpropagation
Réseau de neurones
Apprentissage par ajustement itératif des poids. Minimise MSE. Propagation forward puis erreur backward. Tolère le bruit
Patterns complexes
Parallélisable
Lent à entraîner
Boîte noire
Hyperparamètres empiriques
Règles IF-THEN
RIPPER, FOIL, CN2
Extraction séquentielle depuis training data. Coverage et accuracy par règle. Résolution de conflits si plusieurs règles. Très interprétable
Facile à valider
Moins précis
Fragile sur données complexes