Optimisation bayésienne avec Optuna
optuna.create_study(), suggest_float/int/categorical, élagage et visualisation.
Optimisation bayésienne avec Optuna est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Plus efficace que la recherche aléatoire
La recherche sur grille et la recherche aléatoire ignorent les résultats précédents. L’optimisation bayésienne apprend des essais précédents pour proposer ensuite des hyperparamètres plus prometteurs et trouve de bonnes valeurs avec moins d’évaluations.
Fonctionnement d’Optuna
Optuna est un cadre logiciel populaire pour l’optimisation des hyperparamètres. Vous définissez une fonction objectif ; Optuna échantillonne intelligemment les hyperparamètres et mémorise ce qui a fonctionné.
Créer une étude
Une étude gère l’optimisation. Définissez direction sur "maximize" pour l’exactitude ou l’AUC, et sur "minimize" pour la perte ou l’erreur.
import optuna
study = optuna.create_study(direction="maximize")La fonction objectif
L’objectif reçoit un objet trial, propose des hyperparamètres, entraîne un modèle et renvoie la valeur à optimiser.
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
def objective(trial):
n = trial.suggest_int("n_estimators", 100, 500)
d = trial.suggest_int("max_depth", 3, 20)
clf = RandomForestClassifier(n_estimators=n, max_depth=d)
return cross_val_score(clf, X, y, cv=3).mean()Proposer des paramètres entiers
trial.suggest_int(name, low, high) choisit un entier dans un intervalle. Ajoutez step ou log=True pour contrôler l’échantillonnage.
def objective(trial):
n_estimators = trial.suggest_int("n_estimators", 100, 1000, step=50)
return train_and_score(n_estimators)Proposer des paramètres réels
trial.suggest_float(name, low, high) choisit un nombre réel. Utilisez log=True pour des paramètres comme le taux d’apprentissage, qui couvrent plusieurs ordres de grandeur.
def objective(trial):
lr = trial.suggest_float("learning_rate", 1e-4, 0.3, log=True)
subsample = trial.suggest_float("subsample", 0.5, 1.0)
return train_and_score(lr, subsample)Proposer des paramètres catégoriels
trial.suggest_categorical(name, choices) sélectionne une valeur dans une liste fixe, ce qui convient parfaitement à des options comme le type de noyau ou la méthode de renforcement.
def objective(trial):
kernel = trial.suggest_categorical("kernel", ["linear", "rbf", "poly"])
return train_svm(kernel)Exécuter l’optimisation
study.optimize(objective, n_trials=N) exécute la recherche pendant N essais. Un plus grand nombre d’essais explore une plus grande partie de l’espace ; au fil du temps, Optuna se concentre sur les régions prometteuses.
study.optimize(objective, n_trials=100)Lire le meilleur résultat
Après l’optimisation, study.best_params fournit les meilleurs hyperparamètres et study.best_value, la meilleure valeur de l’objectif.
print("Best params:", study.best_params)
print("Best value:", study.best_value)
best = RandomForestClassifier(**study.best_params)
best.fit(X, y)Élaguer les essais peu prometteurs
Optuna peut arrêter rapidement les mauvais essais grâce à des mécanismes d’élagage, ce qui économise des ressources de calcul. Signalez les valeurs intermédiaires et vérifiez trial.should_prune() à l’intérieur des boucles d’entraînement.
import optuna
study = optuna.create_study(
direction="maximize",
pruner=optuna.pruners.MedianPruner(),
)Pourquoi Optuna s’adapte aux grandes recherches
Optuna prend en charge les essais parallèles, le stockage persistant et la visualisation de la recherche. Pour les modèles coûteux, son approche bayésienne économe en évaluations trouve de bonnes configurations avec bien moins d’essais qu’une recherche sur grille ou aléatoire.
Vérification rapide
Vérifiez vos connaissances sur Optuna.
Récapitulatif
Récapitulatif : Optuna utilise l’optimisation bayésienne pour régler efficacement les hyperparamètres. Créez une étude avec une direction, écrivez un objectif qui utilise trial.suggest_int/float/categorical, exécutez study.optimize(objective, n_trials=N), puis consultez study.best_params et study.best_value. Les mécanismes d’élagage arrêtent les essais peu performants afin d’économiser des ressources de calcul.
Questions Fréquemment Posées
La leçon « Optimisation bayésienne avec Optuna » est-elle gratuite ?
Oui — le texte complet de « Optimisation bayésienne avec Optuna » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Optimisation bayésienne avec Optuna » ?
optuna.create_study(), suggest_float/int/categorical, élagage et visualisation. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Optimisation bayésienne avec Optuna » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Stratégies de validation croisée
- Analyse approfondie des métriques de classification
- Recherche sur grille et recherche aléatoire
- Optimisation bayésienne avec Optuna