Maison >développement back-end >Tutoriel Python >Explication du code équivalent Python d'apprentissage automatique automatique
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.
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.
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 deimport 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))
Accuracy: 0.9866666666666667
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é
.
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.
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!