CV de recherche de grille dans Sklearn

CV de recherche de grille dans Sklearn

«Les variables d'un modèle d'apprentissage automatique qui déterminent comment les paramètres seront réglés sont appelés hyperparamètres. Le problème de sélection d'un groupe d'hyperparamètres idéaux pour un algorithme d'apprentissage est connu sous le nom de réglage hyperparamètre. Les hyperparamètres peuvent être configurés manuellement ou automatiquement. Il existe de nombreux algorithmes disponibles pour ce réglage. Une de ces méthodes, GridSearchCV, sera couverte dans ce blog."

Que sont les hyperparamètres?

Nous pouvons ajuster les paramètres du modèle en utilisant les données existantes pour former un modèle. Une autre classe de paramètres ne peut pas être immédiatement apprise grâce à une formation de routine. Ces paramètres représentent les caractéristiques «de niveau supérieur» du modèle, telles que la complexité et le taux d'apprentissage. Les hyperparamètres sont le terme pour eux. En règle générale, les hyperparamètres sont ajustés avant le début de la formation.

Qu'est-ce que la recherche de grille CV?

La recherche de grille évalue les performances de chaque combinaison possible des hyperparamètres et de leurs valeurs, choisit la combinaison avec les meilleures performances et prend cette combinaison comme point de départ. Avec autant d'hyperparamètres impliqués, le traitement devient long et coûteux. La validation croisée se fait dans GridSearchCV en plus de la recherche de grille. La validation croisée est utilisée tandis que le modèle est formé pour valider les résultats par rapport à un ensemble de données.

Recherche de grille dans deux hyperparamètres (source: Wikipedia)

Comment fonctionne la recherche de grille?

Dans sa forme la plus élémentaire, la recherche de grille est une méthode qui utilise la force brute pour estimer les hyperparamètres. Disons que vous avez k hyperparamètres, et il y a des valeurs possibles pour chacun d'eux. Prendre un produit cartésien de ces valeurs potentielles est essentiellement ce qu'est la recherche de grille. Bien que la recherche de grille puisse sembler très inefficace, elle peut être accélérée en utilisant un traitement parallèle.

Implémentation de recherche de grille dans Sklearn

# Importation des bibliothèques et des cours
De Sklearn Import SVM, ensembles de données
de Sklearn.Model_Selection Import Gridsearchcv
# Chargement de l'ensemble de données IRIS
données = ensembles de données.load_iris ()
# Spécification de l'espace des paramètres et de l'algorithme
Paramètres = 'Kernel' :( 'Linear', 'RBF'), 'C': [5, 20]
# Création du modèle
svc = svm.Svc ()
# Création d'une instance GridSearch
CLF = GRIDSEARCHCV (SVC, Paramètres)
# ajuster le modèle
Imprimer (CLF.ajuster (données.données, données.cible))
# Impression des résultats
Imprimer (CLF.cv_results_.clés())

Sortir

GRIDSEARCHCV (Estimator = SVC (),
param_grid = 'c': [5, 20], 'kernel': ('linéaire', 'rbf'))
dict_keys (['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_c', 'dissamin_kernel', 'params', 'split0_test_score' , 'Mean_test_score', 'std_test_score', 'RAND_TEST_SCORE'])

Conclusion

Cet article a expliqué comment régler les hyperparamètres à l'aide de GridSearchCV et de sa mise en œuvre. Dans l'apprentissage automatique, les hyperparamètres sont des paramètres que l'utilisateur définit directement pour réguler le processus d'apprentissage. Ces hyperparamètres sont utilisés pour améliorer le processus d'apprentissage du modèle. Le réglage de l'hyperparamètre implique de déterminer les valeurs idéales pour divers paramètres. Sklearn propose la classe «Sélection de mode», qui nous permet de générer des instances de recherche de grille et de les utiliser pour nos fins.