Des outils qui testent automatiquement des dizaines d'algorithmes et de réglages sur vos données, les classent en validation croisée et combinent souvent les meilleurs. En quelques minutes, on obtient un modèle solide et une idée du niveau de performance atteignable. L'analyste ne disparaît pas : il prépare les données et lit le résultat d'un œil critique.
Un concours de cuisine où l'on soumet le même panier d'ingrédients à 20 chefs, chacun avec sa recette. Un jury note chaque plat à l'aveugle, puis on sert le meilleur, ou un assortiment des meilleurs.
Un tableau, la colonne à prédire, une métrique et un budget en temps ou en nombre de modèles.
L'outil entraîne des modèles variés (régression régularisée, forêts, boosting, réseaux de neurones), explore leurs réglages et note chacun en validation croisée.
Le classement (leaderboard) liste les modèles du meilleur au moins bon. Les ensembles empilés, qui combinent plusieurs modèles, arrivent souvent en tête.
3 000 clients avec ancienneté, appels au support, montant mensuel, contrat, incidents récents, et le churn observé. La direction veut savoir en une journée si un score de départ est faisable, et à quel niveau de qualité.
Chaque modèle testé apparaît avec son AUC en validation croisée, du GLM aux ensembles empilés. Le meilleur est prêt à scorer la base. Si un GLM simple est à quelques millièmes du premier, c'est lui qu'on met en production.
Le classement est fait en validation croisée, sur les données d'entraînement. Le verdict se fait sur 30 % de clients mis de côté avant de lancer l'AutoML. Un écart important entre les deux signale un surapprentissage ou une fuite de données.
Noms donnés pour H2O, identiques en R et en Python. D'autres outils existent : auto-sklearn, FLAML, AutoGluon, ou les services AutoML des clouds.
Le temps ou le nombre de modèles autorisés. Au-delà de quelques dizaines de modèles, le gain est en général faible.
AUC pour un score, logloss si les probabilités doivent être fiables, erreur absolue pour une prévision. Le classement suit ce critère.
Pour exiger un modèle explicable, on peut limiter l'outil au GLM, ou au moins exclure les ensembles empilés, au prix d'un peu de performance.
5 blocs par défaut (H2O peut passer à un simple jeu de validation sur de très gros volumes). Pour des données datées ou groupées par client, fournir soi-même la colonne de découpage (fold_column).
# Score de churn : AutoML (H2O) en R
library(h2o)
h2o.init() # démarre un serveur H2O local (Java requis)
clients <- h2o.importFile("clients_churn.csv")
clients$churn <- as.factor(clients$churn) # classification, pas régression
parts <- h2o.splitFrame(clients, ratios = 0.7, seed = 42)
variables <- c("anciennete", "appels_support", "montant", "contrat", "incidents_3m")
# Au plus 20 modèles ou 10 minutes : GLM, forêts, boosting, deep learning, puis ensembles empilés
aml <- h2o.automl(x = variables, y = "churn", training_frame = parts[[1]],
max_models = 20, max_runtime_secs = 600, sort_metric = "AUC", seed = 42)
# Classement des modèles en validation croisée (5 blocs par défaut)
print(aml@leaderboard, n = 10)
# Verdict sur des clients jamais vus, pour le meilleur modèle
cat("Meilleur modèle :", aml@leader@model_id, "\n")
cat("AUC sur le jeu de test :", round(h2o.auc(h2o.performance(aml@leader, newdata = parts[[2]])), 3), "\n")
# Score de churn : AutoML (H2O) en Python
import h2o
from h2o.automl import H2OAutoML
h2o.init() # démarre un serveur H2O local (Java requis)
clients = h2o.import_file("clients_churn.csv")
clients["churn"] = clients["churn"].asfactor() # classification, pas régression
train, test = clients.split_frame(ratios=[0.7], seed=42)
variables = ["anciennete", "appels_support", "montant", "contrat", "incidents_3m"]
# Au plus 20 modèles ou 10 minutes : GLM, forêts, boosting, deep learning, puis ensembles empilés
aml = H2OAutoML(max_models=20, max_runtime_secs=600, sort_metric="AUC", seed=42)
aml.train(x=variables, y="churn", training_frame=train)
# Classement des modèles en validation croisée (5 blocs par défaut)
print(aml.leaderboard.head(rows=10))
# Verdict sur des clients jamais vus, pour le meilleur modèle
print("Meilleur modèle :", aml.leader.model_id)
print("AUC sur le jeu de test :", round(aml.leader.model_performance(test).auc(), 3))
L'AutoML (automated machine learning) désigne les outils qui automatisent tout ou partie de la construction d'un modèle : préparation simple des données, choix de l'algorithme, réglage des hyperparamètres, combinaison de modèles et évaluation. L'utilisateur fournit les données, la cible et un budget de calcul.
Il remplace surtout la partie la plus répétitive : essayer des algorithmes et régler des paramètres. Formuler le problème, construire les bonnes variables, repérer les fuites de données, choisir la métrique et faire adopter le modèle restent des tâches humaines, et ce sont elles qui font la valeur d'un projet.
H2O AutoML fonctionne en R et en Python et convient bien aux données tabulaires. AutoGluon et FLAML sont très performants en Python. Les clouds proposent leurs propres services (Vertex AI, Azure ML, SageMaker Autopilot). Le bon choix dépend surtout de votre environnement technique et de vos contraintes d'hébergement des données.
Méthode de réglage utilisée par plusieurs outils AutoML pour choisir les essais.
Voir la fiche → le gagnant fréquentCombine les prédictions de plusieurs modèles par un modèle de second niveau. Souvent en tête du classement AutoML.
Voir la fiche → pour ouvrir la boîteExplique, client par client, les prédictions du modèle retenu par l'AutoML.
Voir la fiche →Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.
Nous utilisons des cookies de mesure d'audience et de suivi publicitaire pour comprendre la fréquentation du site et l'efficacité de nos annonces. Rien n'est déposé sans votre accord. En savoir plus