Accueil / Factory / Algos ML / C4.5 / C5.0 — factory / algos ML / apprentissage supervisé

C4.5 / C5.0.

Les arbres de décision de Ross Quinlan : C4.5 date de 1993, C5.0 est sa version plus rapide et plus complète. Ils découpent les données selon le gain d'information et savent livrer le modèle sous forme de règles si / alors. On les utilise quand la décision doit pouvoir être relue et appliquée par le terrain.

ClassificationArbre de décisionRègles métierModèle interprétableNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceCorrect seul, nettement meilleur avec le boosting (trials)
InterprétabilitéDes règles si / alors qu'un conseiller applique sans outil
VitesseEntraînement en secondes, même sur des centaines de milliers de lignes
Facilité de réglagePeu de réglages, surtout la taille minimale des feuilles
Tolérance aux données brutesPas de mise à l'échelle, valeurs manquantes gérées nativement
EN 30 SECONDES

Un jeu des 20 questions : à chaque tour, on pose la question qui réduit le plus l'incertitude sur la réponse finale.

1. On mesure le désordre

L'entropie mesure à quel point partants et fidèles sont mélangés dans un groupe. Un groupe pur a une entropie nulle.

2. On choisit la question la plus informative

Pour chaque variable et chaque seuil, on calcule la baisse d'entropie obtenue, le gain d'information. C4.5 le divise par l'information du découpage lui-même (ratio de gain) pour ne pas favoriser les variables à nombreuses modalités.

3. On élague et on traduit en règles

L'arbre complet est ensuite élagué pour retirer les branches peu fiables. Chaque chemin de la racine à une feuille devient une règle, que C5.0 simplifie encore.

LE CAS MÉTIER

churn · télécom / énergie / assurance
EN ENTRÉE

Une ligne par client

Ancienneté, nombre d'appels au support, montant mensuel, type de contrat, incidents des 3 derniers mois. Et la colonne à prédire : le client est-il parti ?

EN SORTIE

Des règles pour les conseillers

Le modèle produit une poignée de règles du type « contrat mensuel et moins de 4 mois d'ancienneté : risque de départ ». Sur le jeu d'exemple, les clients qui ont appelé le support au moins 6 fois partent à 64 %, contre 22 % en moyenne.

CE QU'ON MESURE

Couverture et fiabilité de chaque règle

Une règle qui touche 50 clients à 65 % de départs vaut plus pour l'action qu'une exactitude globale. On regarde aussi le rappel : combien de partants les règles attrapent-elles au total ? Il reste souvent faible, et c'est le prix de la simplicité.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Décision à appliquer par le terrain sans outil : règles de relance, d'éligibilité, de tri
  • Besoin de montrer au métier pourquoi un client est classé à risque
  • Données mélangées avec des valeurs manquantes, sans préparation lourde
  • Premier diagnostic rapide pour repérer les segments qui décrochent

NON

  • Recherche de la meilleure performance : une Random Forest ou XGBoost font mieux
  • Données très bruitées ou petits échantillons : l'arbre change au moindre ajout de lignes
  • Besoin de probabilités fines pour chiffrer un gain : préférer une régression logistique
  • Relations additives et régulières (prix, surface) : une régression linéaire les capte mieux
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés pour R (C50). En Python, il n'existe pas d'implémentation de référence de C5.0 : scikit-learn propose un arbre CART avec le critère d'entropie.

minCases / min_samples_leaf

Nombre minimum de clients par feuille. Le réglage principal : trop bas, l'arbre apprend le bruit ; entre 20 et 50 sur quelques milliers de lignes, les règles restent solides.

rules

rules = TRUE livre le modèle sous forme de règles indépendantes plutôt que d'arbre. Souvent plus court et plus facile à valider avec le métier.

trials

Nombre de modèles boostés. 1 par défaut ; 10 ou plus améliore la performance mais on perd la lisibilité d'un modèle unique.

costs

Matrice de coûts des erreurs. Rater un partant coûte plus cher que d'appeler un fidèle : la déclarer pousse le modèle à produire plus de règles « départ ».

LE CODE MINIMAL

jeu d'exemple : clients_churn.csv ↓
# Churn clients : C5.0 en R
library(C50)

clients <- read.csv("clients_churn.csv")
clients$churn <- factor(clients$churn, levels = c(0, 1), labels = c("fidele", "parti"))
clients$contrat <- factor(clients$contrat)

set.seed(42)
idx <- sample(nrow(clients), round(0.7 * nrow(clients)))
train <- clients[idx, ]
test <- clients[-idx, ]

# rules = TRUE : le modèle est livré sous forme de règles si / alors
modele <- C5.0(churn ~ anciennete + appels_support + montant + contrat + incidents_3m,
               data = train, rules = TRUE, control = C5.0Control(minCases = 30))
print(summary(modele))   # affiche les règles, leur couverture et leur fiabilité

# Matrice de confusion sur les clients jamais vus
pred <- predict(modele, test)
print(table(prevu = pred, reel = test$churn))
print(C5imp(modele, metric = "usage"))

QUESTIONS FRÉQUENTES

Quelle différence entre C4.5 et CART ?

C4.5 choisit ses découpages avec le ratio de gain, crée une branche par modalité d'une variable catégorielle et élague avec une estimation pessimiste de l'erreur. CART utilise le plus souvent l'indice de Gini, découpe toujours en deux et élague par validation croisée. Les deux donnent des arbres de qualité comparable.

Qu'est-ce que le gain d'information ?

C'est la baisse d'entropie obtenue en découpant un groupe selon une variable. Plus les sous-groupes sont purs, plus le gain est élevé. C4.5 le corrige par le ratio de gain, car le gain brut favorise les variables qui ont beaucoup de modalités, comme un identifiant.

Peut-on utiliser C5.0 en Python ?

Pas avec scikit-learn, qui n'implémente que CART. Le critère criterion="entropy" reprend le gain d'information, mais sans ratio de gain, sans découpage multiple ni règles. Pour le vrai C5.0, le package C50 de R reste la référence.

LES ALGOS VOISINS

à comparer avant de choisir
le cousin binaire

Arbre de décision (CART)

Découpages toujours en deux, critère de Gini par défaut. C'est l'arbre de scikit-learn et de rpart.

Voir la fiche →
l'arbre des statisticiens

CHAID

Découpe selon des tests du khi-deux, en plusieurs branches à la fois. Très utilisé en études marketing.

Voir la fiche →
plus précise, moins lisible

Random Forest

Des centaines d'arbres qui votent. Gagne en performance, perd les règles.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →