Ajustement des hyperparamètres en Python
Alex Scriven
Data Scientist
Dans l'évolution génétique réelle, le processus est le suivant :
On peut appliquer la même idée à l'ajustement d'hyperparamètres :
Il s'agit d'une recherche éclairée qui offre plusieurs avantages :
Une bibliothèque utile pour l'ajustement génétique d'hyperparamètres est TPOT :
Considérez TPOT comme votre assistant en science des données. TPOT est un outil Python d'Automated Machine Learning qui optimise des pipelines de Machine Learning à l'aide de la programmation génétique.
Les pipelines incluent non seulement le modèle (ou plusieurs) mais aussi le traitement des variables et d'autres étapes. Et ils renvoient le code Python du pipeline pour vous !
Les arguments clés d'un classifieur TPOT sont :
generations : nombre d'itérations d'entraînement.population_size : nombre de modèles conservés après chaque itération.offspring_size : nombre de modèles produits à chaque itération.mutation_rate : proportion de pipelines auxquels appliquer de l'aléatoire.crossover_rate : proportion de pipelines à croiser à chaque itération.scoring : fonction qui détermine les meilleurs modèles.cv : stratégie de validation croisée.Un exemple simple :
from tpot import TPOTClassifier tpot = TPOTClassifier(generations=3, population_size=5, verbosity=2, offspring_size=10, scoring='accuracy', cv=5)tpot.fit(X_train, y_train) print(tpot.score(X_test, y_test))
Nous garderons les valeurs par défaut de mutation_rate et crossover_rate, car il vaut mieux les laisser ainsi sans connaissances poussées en programmation génétique.
Remarquez : aucun hyperparamètre propre à un algorithme ?
Ajustement des hyperparamètres en Python