Severin Nzomutcha Classification Multi-Label : Binary Relevance
Classification Multi-Label : Méthode Binary
Relevance
Une approche détaillée et pratique
Severin Nzomutcha
10 décembre 2025
Résumé : Ce document explore en profondeur la classification multi-label, en se
concentrant sur la méthode Binary Relevance. Il couvre les principes théoriques, les
avantages, les limites, les améliorations possibles, et des exemples d’implémentation
en Python. Une attention particulière est portée sur les métriques d’évaluation, les
bonnes pratiques et les comparaisons avec d’autres méthodes.
Table des matières
1 Introduction à la Classification Multi-Label 4
1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Exemples concrets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Approches pour la Classification Multi-Label 4
2.1 Trois grandes familles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Méthodes de transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Binary Relevance : Présentation Détaillée 5
3.1 Principe Fondamental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Formalisation Mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4 Phase de Prédiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Page 1
Severin Nzomutcha Classification Multi-Label : Binary Relevance
4 Avantages de Binary Relevance 6
4.1 Simplicité et Flexibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Interprétabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Limites et Inconvénients 6
5.1 Ignorance des Corrélations entre Étiquettes . . . . . . . . . . . . . . . . . . . . . 6
5.2 Complexité Computationnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Déséquilibre des Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Améliorations et Variantes 7
6.1 Binary Relevance avec Sélection de Caractéristiques . . . . . . . . . . . . . . . . 7
6.2 Binary Relevance avec Pondération . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.3 Ensembles de Binary Relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7 Implémentation Pratique 7
7.1 En Python avec Scikit-learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.2 Avec Scikit-multilearn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 Métriques d’Évaluation 8
8.1 Métriques Basées sur les Échantillons . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.2 Métriques Basées sur les Étiquettes . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9 Optimisation des Hyperparamètres 8
9.1 Sélection du Seuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.2 Recherche d’Hyperparamètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
10 Cas d’Application et Étude de Cas 9
10.1 Classification de Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.2 Recommandation de Films . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Page 2
Severin Nzomutcha Classification Multi-Label : Binary Relevance
11 Comparaison avec Autres Méthodes 10
11.1 vs Classifier Chains (CC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
11.2 vs Label Powerset (LP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12 Bonnes Pratiques 10
12.1 Quand utiliser Binary Relevance ? . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.2 Pré-traitement des Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.3 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
13 Extensions Avancées 11
13.1 Deep Learning avec BR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.2 BR avec Transfer Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
14 Conclusion 11
14.1 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
14.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
14.3 Recommandations Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
15 Références Clés 12
Page 3
Severin Nzomutcha Classification Multi-Label : Binary Relevance
1 Introduction à la Classification Multi-Label
1.1 Définition
La classification multi-label est une tâche d’apprentissage supervisé où chaque instance peut
être associée à plusieurs étiquettes simultanément. Contrairement à la classification multi-
classe, où une instance appartient à une seule catégorie, les étiquettes ne sont pas mutuellement
exclusives.
1.1.1 Exemples concrets
— Texte : Un article peut être catégorisé comme ”politique”, ”économie” et ”international”.
— Images : Une photo peut contenir ”chat”, ”jardin” et ”soleil”.
— Musique : Une chanson peut être ”rock”, ”années 80” et ”nostalgie”.
1.2 Problématique
Soit :
— X : espace des caractéristiques (features).
— L = {l1 , l2 , . . . , lk } : ensemble de k étiquettes possibles.
— Pour chaque instance x ∈ X, on cherche à prédire y ⊆ L.
2 Approches pour la Classification Multi-Label
2.1 Trois grandes familles
1. Méthodes de transformation du problème : Adaptent le problème multi-label en
problèmes plus simples.
2. Méthodes d’adaptation d’algorithmes : Modifient les algorithmes existants pour gérer
directement les multi-étiquettes.
3. Méthodes ensemblistes : Combinent plusieurs classifieurs.
2.2 Méthodes de transformation
— Binary Relevance : Traite chaque étiquette indépendamment.
— Classifier Chains : Enchaı̂ne les classifieurs en considérant les dépendances.
— Label Powerset : Transforme en problème multi-classe.
— Ensembles de classifieurs : Méthodes hybrides.
Page 4
Severin Nzomutcha Classification Multi-Label : Binary Relevance
3 Binary Relevance : Présentation Détaillée
3.1 Principe Fondamental
La méthode Binary Relevance (BR) est l’approche la plus intuitive :
— Transformer le problème multi-label en k problèmes de classification binaire indépendants.
— Chaque classifieur binaire prédit la présence (1) ou l’absence (0) d’une étiquette spécifique.
3.2 Formalisation Mathématique
Pour un ensemble de k étiquettes L = {l1 , l2 , . . . , lk } :
— On construit k classifieurs h1 , h2 , . . . , hk .
— Chaque hi : X → {0, 1}.
— La prédiction finale : h(x) = [h1 (x), h2 (x), . . . , hk (x)].
3.3 Algorithme
Algorithm 1 Binary Relevance
Require: Données d’entraı̂nement D = {(xi , yi )}ni=1 , yi ⊆ L
Require: Algorithme de classification binaire A
Ensure: Ensemble de classifieurs H = {h1 , h2 , . . . , hk }
1: for chaque étiquette lj ∈ L do
2: Créer un jeu de données binaire Dj :
3: for chaque instance (xi , yi ) ∈ D do
4: if lj ∈ yi then
5: Classe = 1
6: else
7: Classe = 0
8: end if
9: end for
10: Entraı̂ner un classifieur hj avec A sur Dj
11: end for
12: return H
3.4 Phase de Prédiction
Pour une nouvelle instance x :
1. Pour chaque classifieur hj ∈ H, calculer pj = hj (x) (probabilité d’appartenance).
2. Combiner les prédictions :
— Soit par seuillage fixe (ex : seuil = 0.5).
Page 5
Severin Nzomutcha Classification Multi-Label : Binary Relevance
— Soit par optimisation de seuil.
4 Avantages de Binary Relevance
4.1 Simplicité et Flexibilité
— Facile à implémenter.
— Peut utiliser n’importe quel classifieur binaire (SVM, Random Forest, Réseaux de Neu-
rones, etc.).
— Parallélisable : chaque classifieur peut être entraı̂né indépendamment.
4.2 Évolutivité
— Linéaire en nombre d’étiquettes : O(k) classifieurs.
— Performances décentes pour beaucoup de problèmes réels.
4.3 Interprétabilité
— Chaque classifieur correspond à une étiquette spécifique.
— Importance des features analysable par étiquette.
5 Limites et Inconvénients
5.1 Ignorance des Corrélations entre Étiquettes
— BR traite les étiquettes comme indépendantes, alors qu’en réalité :
— ”France” et ”Paris” sont fortement corrélés.
— ”Mer” et ”Montagne” sont souvent mutuellement exclusifs.
— Conséquence : prédictions incohérentes possibles.
5.2 Complexité Computationnelle
— Nécessite k modèles à entraı̂ner et maintenir.
— Phase de prédiction : k prédictions par instance.
Page 6
Severin Nzomutcha Classification Multi-Label : Binary Relevance
5.3 Déséquilibre des Classes
— Pour chaque classifieur binaire, le nombre d’instances positives est souvent beaucoup plus
faible que les négatives.
— Nécessite des techniques de rééquilibrage.
6 Améliorations et Variantes
6.1 Binary Relevance avec Sélection de Caractéristiques
Pour chaque étiquette lj :
1. Sélectionner les features les plus pertinentes pour lj .
2. Entraı̂ner le classifieur sur les features sélectionnées.
6.2 Binary Relevance avec Pondération
— Pondérer les instances en fonction de leur importance pour chaque étiquette.
— Coût-sensitive learning : pénalités différentes pour faux positifs/négatifs.
6.3 Ensembles de Binary Relevance
1. Créer plusieurs jeux de données par ré-échantillonnage.
2. Appliquer BR sur chaque jeu.
3. Agréger les prédictions (moyenne, vote majoritaire).
7 Implémentation Pratique
7.1 En Python avec Scikit-learn
1 from sklearn . multiclass import OneVsRestClassifier
2 from sklearn . linear_model import LogisticRegression
3 from sklearn . metrics import classification_report , hamming_loss
4 import numpy as np
5
6 # D o n n e s d ’ exemple
7 X_train = np . random . randn (100 , 20) # 100 instances , 20 features
8 Y_train = np . random . randint (0 , 2 , (100 , 5) ) # 5 tiquettes
9
10 # Initialisation du m o d l e BR
11 br_model = OneVsRestClassifier ( LogisticRegression ( max_iter =1000) )
12
Page 7
Severin Nzomutcha Classification Multi-Label : Binary Relevance
13 # Entra nement
14 br_model . fit ( X_train , Y_train )
15
16 # Pr diction
17 X_test = np . random . randn (20 , 20)
18 predictions = br_model . predict ( X_test )
19 probabilities = br_model . predict_proba ( X_test )
Listing 1 – Exemple d’implémentation de Binary Relevance avec Scikit-learn
7.2 Avec Scikit-multilearn
1 from skmultilearn . problem_transform import BinaryRelevance
2 from sklearn . naive_bayes import GaussianNB
3
4 # Initialisation
5 classifier = BinaryRelevance ( classifier = GaussianNB () )
6
7 # E n t r a n e m e n t et p r d i c t i o n
8 classifier . fit ( X_train , Y_train )
9 predictions = classifier . predict ( X_test )
Listing 2 – Exemple avec Scikit-multilearn
8 Métriques d’Évaluation
8.1 Métriques Basées sur les Échantillons
1 Pn|Yi ∩Ŷi |
— Exactitude (Accuracy) : Accuracy = n i=1 |Yi ∪Ŷi |
1 Pn Pk
— Hamming Loss : Hamming Loss = n·k i=1 j=1 ⊮(yij ̸= ŷij )
— F1-Score : moyenne harmonique de précision et rappel.
8.2 Métriques Basées sur les Étiquettes
— Précision/Rappel/F1 par étiquette.
— Macro/Micro averaging.
9 Optimisation des Hyperparamètres
9.1 Sélection du Seuil
Pour chaque étiquette lj :
Page 8
Severin Nzomutcha Classification Multi-Label : Binary Relevance
1. Obtenir les probabilités pj (x) pour l’ensemble de validation.
2. Trouver le seuil optimal tj qui maximise le F1-score.
3. Appliquer : ŷj = 1 si pj (x) > tj , 0 sinon.
9.2 Recherche d’Hyperparamètres
1 from sklearn . model_selection import GridSearchCV
2
3 # D f i n i t i o n des h y p e r p a r a m t r e s tester
4 param_grid = {
5 ’ estimator__C ’: [0.1 , 1 , 10] ,
6 ’ es ti mator__penalty ’: [ ’ l1 ’ , ’ l2 ’]
7 }
8
9 # Recherche par validation c r o i s e
10 grid_search = GridSearchCV (
11 O n e Vs RestClassifier ( LogisticRegression ( solver = ’ saga ’) ) ,
12 param_grid ,
13 cv =5 ,
14 scoring = ’ f1_micro ’
15 )
16 grid_search . fit ( X_train , Y_train )
Listing 3 – Recherche d’hyperparamètres avec GridSearchCV
10 Cas d’Application et Étude de Cas
10.1 Classification de Documents
— Problème : Catégoriser des articles scientifiques.
— Étiquettes : {IA, Biologie, Médecine, Physique, Chimie}.
— Approche BR :
— 5 classifieurs binaires (un par domaine).
— Features : TF-IDF du texte.
— Classifieur : SVM linéaire.
10.2 Recommandation de Films
— Problème : Prédire les genres d’un film.
— Étiquettes : {Action, Comédie, Drame, Romance, Thriller}.
— Approche BR :
— 5 classifieurs.
— Features : acteurs, réalisateur, synopsis, année.
— Classifieur : Random Forest.
Page 9
Severin Nzomutcha Classification Multi-Label : Binary Relevance
11 Comparaison avec Autres Méthodes
11.1 vs Classifier Chains (CC)
Table 1 – Comparaison entre Binary Relevance et Classifier Chains
Binary Relevance Classifier Chains
Plus simple Capture certaines dépendances
Parallélisable Ordonnancement des chaı̂nes important
Ignore les corrélations Propagation d’erreurs
11.2 vs Label Powerset (LP)
Table 2 – Comparaison entre Binary Relevance et Label Powerset
Binary Relevance Label Powerset
Plus scalable (k vs 2k problèmes) Capture toutes les corrélations
Moins sensible au déséquilibre Problème de données rares
Ignore les corrélations Complexité exponentielle
12 Bonnes Pratiques
12.1 Quand utiliser Binary Relevance ?
— Nombre d’étiquettes modéré (jusqu’à 100).
— Étiquettes relativement indépendantes.
— Besoin de simplicité et interprétabilité.
— Ressources computationnelles limitées.
12.2 Pré-traitement des Données
— Nettoyage : gestion des valeurs manquantes.
— Réduction de dimension : PCA, sélection de features.
— Rééquilibrage : SMOTE, pondération des classes.
12.3 Validation
— Validation croisée stratifiée par étiquette.
Page 10
Severin Nzomutcha Classification Multi-Label : Binary Relevance
— Split temporel pour les données séquentielles.
— Ensemble de validation pour l’optimisation de seuil.
13 Extensions Avancées
13.1 Deep Learning avec BR
1 from tensorflow . keras . models import Model
2 from tensorflow . keras . layers import Input , Dense
3
4 # Architecture multi - sorties
5 inputs = Input ( shape =( n_features ,) )
6 shared = Dense (128 , activation = ’ relu ’) ( inputs )
7
8 # Sorties i n d p e n d a n t e s pour chaque tiquette
9 outputs = []
10 for i in range ( n_labels ) :
11 out = Dense (1 , activation = ’ sigmoid ’) ( shared )
12 outputs . append ( out )
13
14 model = Model ( inputs = inputs , outputs = outputs )
15 model . compile ( optimizer = ’ adam ’ , loss = ’ binary_crossentropy ’)
Listing 4 – Architecture multi-sorties avec Keras
13.2 BR avec Transfer Learning
— Partager les couches basses entre tous les classifieurs.
— Fine-tuning spécifique par étiquette.
— Utiliser des embeddings pré-entraı̂nés.
14 Conclusion
14.1 Résumé
Binary Relevance reste une méthode de référence pour la classification multi-label grâce à :
— Sa simplicité conceptuelle et implémentative.
— Sa flexibilité dans le choix du classifieur de base.
— Sa bonne performance sur de nombreux problèmes.
14.2 Perspectives
— Combinaison avec d’autres méthodes (méta-ensembles).
Page 11
Severin Nzomutcha Classification Multi-Label : Binary Relevance
— Apprentissage de corrélations a posteriori.
— Adaptation aux données streaming.
14.3 Recommandations Finales
— Commencer par BR comme baseline.
— Évaluer les corrélations entre étiquettes.
— Considérer des méthodes plus sophistiquées si les performances sont insuffisantes.
— Toujours optimiser les seuils de décision.
15 Références Clés
— Tsoumakas, G., & Katakis, I. (2007). Multi-label classification : An overview.
— Zhang, M. L., & Zhou, Z. H. (2014). A review on multi-label learning algorithms.
— Madjarov, G., et al. (2012). An extensive experimental comparison of methods for multi-
label learning.
Page 12