Maison  >  Article  >  développement back-end  >  Explication du code équivalent Python d'apprentissage automatique automatique

Explication du code équivalent Python d'apprentissage automatique automatique

PHPz
PHPzavant
2023-08-22 20:25:101136parcourir

Explication du code équivalent Python dapprentissage automatique automatique

Présentation

L'apprentissage automatique est un domaine en développement rapide, et de nouvelles technologies et algorithmes émergent constamment. Cependant, la création et l’amélioration de modèles d’apprentissage automatique peuvent s’avérer une tâche longue et difficile qui nécessite un haut degré d’expertise. L'apprentissage automatique automatisé, souvent appelé autoML, vise à simplifier le processus de création et d'optimisation de modèles d'apprentissage automatique en automatisant certaines tâches fastidieuses telles que l'ingénierie des fonctionnalités, le réglage des hyperparamètres et la sélection de modèles.

auto-sklearn est un puissant framework d'apprentissage automatique open source construit sur scikit-learn, l'une des bibliothèques d'apprentissage automatique les plus célèbres de Python. Il recherche automatiquement des pipelines d'apprentissage automatique potentiels sur un ensemble de données donné via l'optimisation bayésienne et le méta-apprentissage, et identifie automatiquement les meilleurs modèles et hyperparamètres. Ce didacticiel présentera l'utilisation d'Auto-sklearn en Python, y compris des conseils sur l'installation, l'importation de données, la préparation des données, la création et la formation de modèles et l'évaluation des effets du modèle. Même les débutants peuvent utiliser Auto-sklearn pour créer rapidement et facilement de puissants modèles d'apprentissage automatique.

Comment gérer les erreurs dans node-red

Auto-sklearn

Automatisez la création et l'amélioration continue de modèles d'apprentissage automatique à l'aide du logiciel open source efficace Auto-sklearn. Trouvez automatiquement le modèle et les hyperparamètres idéaux pour un ensemble de données spécifique à l'aide de l'optimisation bayésienne et du méta-apprentissage, lui-même basé sur le programme d'apprentissage automatique bien connu scikit-learn.

Seules quelques-unes des applications créées par autosklearn pour les problèmes de classification et de régression incluent le traitement du langage naturel, la classification d'images et la prédiction de séries chronologiques.

La bibliothèque fonctionne en recherchant dans un ensemble de processus potentiels d'apprentissage automatique, notamment les processus d'ingénierie des fonctionnalités, de sélection de modèles et de préparation des données. Il utilise l'optimisation bayésienne pour rechercher efficacement cet espace et améliore continuellement l'efficacité de la recherche à partir des tests précédents grâce au méta-apprentissage.

De plus, Auto-sklearn fournit également une série de fonctionnalités puissantes, notamment la sélection dynamique d'ensembles, l'intégration automatique de modèles et l'apprentissage actif. De plus, il fournit une API facile à utiliser pour développer, tester et former des modèles.

Code AutoML

Examinons maintenant le code AutoML plus en détail à l'aide d'Auto-sklearn. Nous utiliserons l'ensemble de données Digits de scikit-learn, qui est un ensemble de données de chiffres manuscrits. L’objectif est de prédire des nombres à partir d’images de nombres. Voici le code -

La traduction chinoise de

Programme

est :

programme

import autosklearn.classification
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split

# Load the dataset
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)

# Create and fit the AutoML model
automl = autosklearn.classification.AutoSklearnClassifier(time_left_for_this_task=180, per_run_time_limit=30)
automl.fit(X_train, y_train)

# Evaluate the model on the test set
print("Accuracy:", automl.score(X_test, y_test))

Sortie

Accuracy: 0.9866666666666667

Explication du code

Ce programme utilise l'apprentissage automatique automatisé (AutoML) pour classer les chiffres manuscrits de l'ensemble de données MNIST, notamment à l'aide du module Auto-sklearn. Voici un bref aperçu du code −

  • Importez la classe AutoSklearnClassifier depuis le module autosklearn.classification. Cette classe contient le modèle de classification AutoML qui sera utilisé.

  • Importer la fonction load_digits depuis sklearn.datasets : cela importera la fonction load_digits de l'ensemble de données MNIST à partir du package sklearn.datasets.

  • Sélectionnez un modèle parmi sklearn. L'ensemble de données MNIST est divisé en un ensemble d'entraînement et un ensemble de test à l'aide de la fonction train test split dans le module de sélection sklearn.model, qui est importé ici.

  • L'ensemble de données MNIST est chargé, les entités d'entrée sont stockées dans X et les étiquettes correspondantes sont stockées dans y. X, y = load_digits(return_X_y=True) : cela chargera l'ensemble de données MNIST.

  • Ensemble d'entraînement X, Seed réglé sur 1 pour assurer la reproductibilité

  • Automl est équivalent à autosklearn.classification. AutoSklearnClassifier (durée limite par exécution = 30, temps restant sur cette tâche = 180) : formez un modèle AutoML formé sur l'ensemble de données MNIST dans une instance de la classe AutoSklearnClassifier. La limite de durée par exécution représente la durée maximale (en secondes) pendant laquelle chaque modèle individuel peut s'exécuter, tandis que le temps restant pour cette tâche représente la durée maximale (en secondes) pendant laquelle le processus AutoML peut s'exécuter.
  • Utilisez la fonction automl.fit (X train, y train) pour entraîner le modèle AutoSklearnClassifier via l'ensemble d'entraînement X train et l'étiquette Y train associée.
  • accuracy:", print(X test, y test), automl.score Ceci détermine la précision du modèle AutoSklearnClassifier sur l'ensemble de test après avoir évalué ses performances sur le test X et les étiquettes liées au test Y. La méthode de score donne la précision du modèle sur un ensemble de données donné
  • .

  • Le code ci-dessus implémente la méthode AutoML, une technologie d'apprentissage automatique qui automatise chaque étape du processus de création de modèle, y compris la sélection des fonctionnalités, le réglage des hyperparamètres et la préparation des données. Même les non-experts peuvent créer des modèles puissants à l'aide d'AutoML, ce qui réduit l'effort manuel requis pour créer des modèles d'apprentissage automatique.

Tout d'abord, importez les bibliothèques requises, telles que pandas, numpy, sklearn et tpot, dans le code. Sklearn est utilisé pour les tâches d'apprentissage automatique telles que le prétraitement des données, la sélection et l'évaluation de modèles, Pandas est utilisé pour la manipulation des données et NumPy est utilisé pour les calculs numériques. La bibliothèque principale qui implémente les algorithmes AutoML est TPOT.

Chargez ensuite l'ensemble de données à l'aide de la fonction read_csv de pandas et stockez les entités d'entrée et les étiquettes de sortie séparément dans différentes variables. La variable « y » contient les étiquettes de la sortie, tandis que la variable « X » stocke les caractéristiques de l'entrée.

Pour ajuster les données et générer le modèle d'apprentissage automatique, le code charge d'abord l'ensemble de données, puis crée une instance de la classe TPOTRegressor. La classe TPOTSRegressor est une sous-classe de la classe TPOTBase et utilise un algorithme génétique pour sélectionner les fonctionnalités et ajuster les hyperparamètres. La classe TPOTRegressor gère les problèmes de régression, tandis que la classe TPOTClassifier gère les problèmes de classification.

Utilisez la méthode train-test-split de Sklearn pour diviser l'ensemble de données en un ensemble d'entraînement et un ensemble de test. Il est courant dans le domaine de l'apprentissage automatique de diviser les données en deux ensembles : un ensemble d'entraînement pour ajuster le modèle et un ensemble de test pour évaluer les performances du modèle.

Une fois les données divisées, la méthode d'ajustement de l'instance TPOTRegressor est appelée, qui ajuste le modèle en fonction des données d'entraînement. Avec la technologie d'ajustement, un algorithme génétique est utilisé pour trouver le sous-ensemble optimal de caractéristiques et d'hyperparamètres pour les données données. Le meilleur modèle est ensuite renvoyé.

Le code évalue ensuite les performances du modèle sur l'ensemble de test pour déterminer l'exactitude du modèle, à l'aide d'une méthode de notation. Le score de précision indique dans quelle mesure le modèle s'adapte aux données, les valeurs plus proches de 1 indiquant un meilleur ajustement.

Le meilleur modèle est ensuite exporté vers un fichier Python à l'aide de la fonction d'exportation, ainsi que son score de précision sur l'ensemble de test.

Conclusion

En résumé, Auto-sklearn est une bibliothèque puissante qui simplifie le processus de création et d'amélioration de modèles d'apprentissage automatique. Il permet d'économiser du temps et des efforts en trouvant automatiquement le meilleur modèle et les meilleurs hyperparamètres pour un ensemble de données donné. Ce didacticiel explique comment utiliser Auto-sklearn en Python, y compris des conseils sur son installation, l'importation de données, la préparation des données, la création et l'entraînement de modèles et l'évaluation des performances du modèle. Même les novices peuvent utiliser Auto-sklearn pour créer rapidement et facilement de puissants modèles d'apprentissage automatique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer