Machine Learning : définition, types d'apprentissage et exemple
La branche de l'IA qui apprend à partir de données plutôt qu'à partir de règles écrites à la main : principes, types d'apprentissage, cycle d'un projet et exemple avec scikit-learn.
Par Équipe Blent· Mis à jour le · 13 min de lecture· Niveau débutant
Machine Learning en bref
- Traduction
- Apprentissage automatique
- Terme popularisé par
- Arthur Samuel (IBM), 1959
- Grandes familles
- Supervisé, non supervisé, par renforcement
- Matière première
- Des données, étiquetées ou non
- Bibliothèque de référence
- scikit-learn (Python)
- Métiers associés
- Data Scientist, Machine Learning Engineer
Définition : Machine Learning
Le machine learning, ou apprentissage automatique, est une branche de l'intelligence artificielle dans laquelle un programme apprend à accomplir une tâche à partir d'exemples, au lieu de suivre des règles écrites par un développeur. Un algorithme analyse un jeu de données, en extrait des régularités et produit un modèle capable de faire des prédictions sur de nouvelles données : estimer un prix, détecter une fraude, classer un e-mail ou regrouper des clients. On distingue trois grandes familles : l'apprentissage supervisé, non supervisé et par renforcement. La qualité du modèle dépend avant tout de la qualité des données.
En une phrase : le machine learning consiste à laisser un algorithme déduire les règles d'une tâche à partir d'exemples, plutôt que de les programmer à la main.
Dans cette définition
Qu'est-ce que le Machine Learning ?
En programmation classique, un développeur écrit des règles : « si le montant dépasse 5 000 euros et que le pays est inhabituel, alors bloquer la transaction ». En machine learning, on fournit à un algorithme des milliers de transactions déjà qualifiées (frauduleuses ou non), et c'est lui qui déduit les combinaisons de critères qui distinguent les unes des autres. Le résultat de cet apprentissage s'appelle un modèle.
L'expression a été popularisée en 1959 par Arthur Samuel, chercheur chez IBM, à propos d'un programme de jeu de dames qui progressait en jouant contre lui-même. Tom Mitchell en a donné en 1997 une définition devenue classique : un programme apprend d'une expérience E pour une tâche T, selon une mesure de performance P, si sa performance sur T, mesurée par P, s'améliore avec l'expérience E.
Le machine learning occupe une place intermédiaire dans une série d'ensembles emboîtés : il est une branche de l'intelligence artificielle, dont le deep learning est une sous-famille fondée sur les réseaux de neurones profonds, elle-même à l'origine de l'IA générative. Cette fiche se concentre sur le principe général de l'apprentissage et sur les modèles dits classiques (régressions, arbres, forêts aléatoires, boosting), qui restent la norme sur les données tabulaires.
À retenir : un modèle de machine learning n'est pas programmé, il est entraîné. Sa qualité dépend d'abord des données qu'on lui fournit et de la façon dont on mesure sa performance.
Les trois grands types d'apprentissage
On classe les méthodes de machine learning selon la nature des données disponibles et du signal qui guide l'apprentissage.
Apprentissage supervisé
Chaque exemple d'entraînement est associé à la bonne réponse, appelée étiquette ou label. Le modèle apprend à prédire cette étiquette à partir des autres variables. On parle de classification quand la réponse est une catégorie (spam ou non, client qui résilie ou non) et de régression quand c'est une valeur numérique (prix d'un bien, délai de livraison). C'est le cas le plus fréquent en entreprise, détaillé dans notre article sur l'apprentissage supervisé.
Apprentissage non supervisé
Les données ne comportent pas d'étiquette. L'algorithme cherche une structure : regrouper des individus similaires (clustering, avec par exemple l'algorithme k-means), réduire le nombre de dimensions pour visualiser ou compresser l'information, ou repérer des observations anormales.
Apprentissage par renforcement
Un agent interagit avec un environnement, reçoit des récompenses ou des pénalités, et apprend progressivement la stratégie qui maximise ses gains. Cette approche a permis des performances spectaculaires dans les jeux et la robotique, et elle sert aujourd'hui à aligner les grands modèles de langage sur les préférences humaines, avec le RLHF.
Entre ces familles, on trouve des variantes : l'apprentissage semi-supervisé, qui combine peu d'exemples étiquetés et beaucoup de données brutes, et l'apprentissage auto-supervisé, où les étiquettes sont tirées des données elles-mêmes. C'est ce dernier qui permet d'entraîner les modèles de langage sur d'immenses corpus de textes.
Exemple concret : prédire la résiliation de clients avec scikit-learn
Un opérateur souhaite identifier chaque mois les abonnés susceptibles de résilier, pour leur proposer une offre adaptée. Il dispose d'un historique de clients avec leurs caractéristiques et une colonne resilie (1 si le client est parti, 0 sinon). C'est un problème de classification supervisée.
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder
df = pd.read_csv("clients.csv")
X = df.drop(columns=["resilie"])
y = df["resilie"]
numeriques = ["anciennete_mois", "montant_mensuel", "appels_support"]
categorielles = ["type_contrat", "mode_paiement"]
preparation = ColumnTransformer([
("num", "passthrough", numeriques),
("cat", OneHotEncoder(handle_unknown="ignore"), categorielles),
])
modele = Pipeline([
("preparation", preparation),
("classifieur", RandomForestClassifier(
n_estimators=300, class_weight="balanced", random_state=42
)),
])
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, stratify=y, random_state=42
)
modele.fit(X_train, y_train)
print(classification_report(y_test, modele.predict(X_test)))
# Probabilité de résiliation pour les clients actuels
actifs = pd.read_csv("clients_actifs.csv")
actifs["risque"] = modele.predict_proba(actifs[numeriques + categorielles])[:, 1]
Le code suit le cycle décrit plus haut : les variables catégorielles sont encodées, une forêt aléatoire est entraînée sur 80 % de l'historique, puis évaluée sur les 20 % restants. Le paramètre class_weight="balanced" compense le fait que les résiliations sont minoritaires. Regrouper préparation et modèle dans un même Pipeline garantit que les nouvelles données subissent exactement les mêmes transformations, un point détaillé dans notre article sur les pipelines de scikit-learn.
Le rapport de classification affiche la précision et le rappel. Pour cet usage, le rappel sur la classe « résilie » est souvent prioritaire : mieux vaut contacter quelques clients fidèles de trop que manquer ceux qui s'apprêtent à partir.
Les principaux cas d'usage du Machine Learning
Le machine learning s'impose dès qu'une décision répétée peut s'appuyer sur des données historiques, en particulier des données tabulaires.
Prédiction de churn
Identifier les clients susceptibles de résilier pour déclencher une action de rétention.
Détection de fraude
Repérer en temps réel les transactions anormales par rapport aux comportements habituels.
Prévision de la demande
Anticiper les ventes, les stocks ou la charge d'un service à partir de l'historique.
Scoring de risque
Estimer la probabilité de défaut d'un emprunteur ou de sinistre d'un assuré.
Segmentation client
Regrouper automatiquement des clients aux comportements proches, sans catégories prédéfinies.
Maintenance prédictive
Prévoir la panne d'un équipement à partir des données de ses capteurs.
Quels sont les avantages du Machine Learning ?
Le machine learning remplace des règles figées par des modèles qui s'adaptent aux données.
- Résolution de problèmes trop complexes pour être décrits par des règles explicites.
- Amélioration continue : le modèle se réentraîne quand de nouvelles données arrivent.
- Exploitation de grands volumes de données historiques, souvent déjà disponibles.
- Modèles classiques rapides à entraîner, peu coûteux et souvent interprétables.
- Écosystème Python mûr, open source et largement documenté.
- Gains mesurables sur des processus métiers précis : fraude, churn, prévision.
Quelles sont les limites du Machine Learning ?
Un modèle n'est jamais meilleur que les données qui l'ont nourri, et sa performance se dégrade si le monde change.
- Besoin de données en quantité et en qualité suffisantes, souvent étiquetées.
- Risque de surapprentissage : le modèle mémorise au lieu de généraliser.
- Biais hérités des données historiques, à détecter et à corriger.
- Dérive des performances en production lorsque les données évoluent.
- Prédictions probabilistes : une marge d'erreur subsiste toujours.
- Mise en production et maintenance exigeantes, qui relèvent du MLOps.
Machine Learning vs programmation classique : quelles différences ?
Les deux approches ne s'opposent pas : un système en production combine presque toujours des règles explicites et un ou plusieurs modèles. Elles répondent cependant à des logiques très différentes.
| Critère | Programmation classique | Machine Learning |
|---|---|---|
| Point de départ | Des règles écrites par un développeur | Des exemples de données |
| Résultat | Un programme déterministe | Un modèle probabiliste |
| Adaptation | Modifier le code à chaque changement | Réentraîner sur des données récentes |
| Problèmes adaptés | Logique claire, cas énumérables | Motifs complexes, règles implicites |
| Tests | Tests unitaires sur des cas attendus | Métriques sur un jeu de test représentatif |
| Erreurs | Bugs reproductibles | Erreurs statistiques, à mesurer et surveiller |
Le changement de logique a des conséquences concrètes : un modèle se valide par des métriques et non par des tests binaires, et il peut se dégrader sans qu'aucune ligne de code ne change, simplement parce que les données évoluent. D'où l'importance de prévenir le surapprentissage avant la mise en production, puis de surveiller la dérive des données une fois le modèle déployé.
Quand utiliser le Machine Learning ?
Avant de choisir un algorithme, vérifiez que le problème relève bien de l'apprentissage et que les données le permettent.
Le Machine Learning est pertinent
- Des données historiques contiennent la réponse recherchée.
- Les règles sont trop nombreuses, floues ou changeantes.
- La décision se répète à grande échelle.
- Une prédiction probabiliste est acceptable.
Mieux vaut une autre approche
- Quelques règles métier stables suffisent.
- Les données sont rares, absentes ou inexploitables.
- Le résultat doit être exact et garanti à chaque fois.
- Personne ne pourra maintenir le modèle en production.
Outils et bibliothèques du Machine Learning
L'essentiel du machine learning se pratique en Python, avec un socle de bibliothèques open source complémentaires.
- Bibliothèque ML
scikit-learn
Algorithmes classiques, prétraitements, pipelines et validation croisée dans une API unifiée.
- Manipulation de données
pandas
Chargement, nettoyage et transformation de données tabulaires.
- Boosting
XGBoost
Implémentation performante du gradient boosting, très utilisée sur les données tabulaires.
- Boosting
LightGBM
Gradient boosting rapide et économe en mémoire, développé par Microsoft.
- Visualisation
Matplotlib
Graphiques pour explorer les données et analyser les résultats d'un modèle.
- Environnement
Jupyter
Notebooks interactifs pour explorer, prototyper et partager des analyses.
- MLOps
MLflow
Suivi des expériences, registre et déploiement des modèles.
Les concepts à connaître autour du Machine Learning
Ces notions reviennent dans tous les projets et conditionnent la fiabilité d'un modèle.
- Apprentissage superviséApprendre à prédire une valeur connue à partir d'exemples étiquetés.
- Feature engineeringLa création des variables qui rendent l'information exploitable par le modèle.
- SurapprentissageLe modèle colle trop aux données d'entraînement et généralise mal.
- Validation croiséeLa méthode qui estime la performance d'un modèle de façon robuste.
- Data driftL'évolution des données en production, qui dégrade les prédictions.
- Deep LearningLa famille du machine learning fondée sur les réseaux de neurones profonds.
Ressources pour approfondir le Machine Learning
Trois articles du blog Blent pour passer des principes à la pratique.
- Fondamentaux
L'apprentissage supervisé : définition et exemples
Classification, régression et méthode de travail de l'apprentissage supervisé.
Lire l'article - Panorama
Les modèles de Machine Learning les plus populaires
Régression, arbres, forêts aléatoires, boosting : quand utiliser chaque modèle.
Lire l'article - Bonnes pratiques
Surapprentissage : comment l'éviter ?
Diagnostiquer et corriger un modèle qui généralise mal.
Lire l'article
Questions fréquentes
Questions fréquentes
Expertise
À propos de l'auteur
Équipe Blent
Les ingénieurs et mentors Blent conçoivent, évaluent et mettent en production des modèles de machine learning, et forment chaque année des centaines de professionnels à la data et à l'IA.
Sources et méthodologie
- Samuel, Some Studies in Machine Learning Using the Game of Checkers, IBM Journal, 1959
- Mitchell, Machine Learning, McGraw-Hill, 1997
- Documentation officielle de scikit-learn
- Retours d'expérience des projets et formations Blent
Comment se déroule un projet de Machine Learning ?
Un projet de machine learning suit un cycle itératif en six étapes. L'entraînement du modèle n'en représente qu'une petite partie : la préparation des données et le suivi en production pèsent souvent davantage.
Cadrer le problème
Traduire le besoin métier en tâche d'apprentissage (classification, régression, regroupement), définir la variable à prédire et la métrique de succès, par exemple le rappel sur les clients qui résilient.
Collecter et explorer les données
Rassembler les sources utiles, vérifier leur qualité, repérer les valeurs manquantes, les doublons et les déséquilibres, et visualiser les distributions.
Préparer les variables
Nettoyer, encoder les variables catégorielles, normaliser si besoin et créer de nouvelles variables pertinentes : c'est le feature engineering, souvent décisif.
Entraîner et comparer des modèles
Séparer les données en jeux d'entraînement et de test, essayer plusieurs algorithmes, ajuster leurs hyperparamètres par validation croisée.
Évaluer et interpréter
Mesurer les performances sur des données jamais vues, analyser les erreurs, vérifier l'absence de biais et expliquer les variables qui pèsent dans les prédictions.
Déployer et surveiller
Exposer le modèle dans une application, suivre ses performances et la dérive des données, puis le réentraîner lorsque la réalité évolue.