Qu’est-ce qu’AutoML ?
AutoML simplifie le processus d’application du Machine Learning à vos jeux de données en recherchant automatiquement la meilleure configuration d’algorithme et d’hyperparamètre pour vous.
Comment fonctionne AutoML ?
Fournissez votre jeu de données et spécifiez le type de problème d’apprentissage automatique, puis AutoML effectue les opérations suivantes :
- Nettoie et prépare vos données.
- Orchestre la formation de modèles distribués et le réglage des hyperparamètres sur plusieurs algorithmes.
- Trouve le meilleur modèle à l’aide d’algorithmes d’évaluation open source à partir de scikit-learn, xgboost, LightGBM, Prophet et ARIMA.
- Présente les résultats. AutoML génère également des notebooks de code source pour chaque version d’évaluation, ce qui vous permet de passer en revue, reproduire et modifier le code en fonction des besoins.
Prise en main des expériences AutoML par le biais d’une interface utilisateur à faible code pour la régression ; classification ; ou prévision, ou l’API Python.
Exigences
Azure Databricks recommande Databricks Runtime 10.4 LTS ML ou version ultérieure pour la disponibilité générale AutoML.
AutoML dépend du
databricks-automl-runtime
package, qui contient des composants utiles en dehors de AutoML et permet également de simplifier les notebooks générés par l’entraînement AutoML.databricks-automl-runtime
est disponible sur PyPI.Aucune bibliothèque supplémentaire autre que celles préinstallées dans Databricks Runtime pour le Machine Learning devrait être installée sur le cluster.
- Toute modification (suppression, mise à niveau ou rétrogradation) vers les versions de bibliothèque existantes entraîne des échecs d’exécution en raison d’une incompatibilité.
Pour accéder aux fichiers de votre espace de travail, vous devez disposer de ports réseau 1017 et 1021 ouverts pour les expériences AutoML. Pour ouvrir ces ports ou pour confirmer qu’ils sont ouverts, passez en revue la configuration du pare-feu VPN cloud et les règles de groupe de sécurité, ou contactez votre administrateur cloud local. Pour plus d’informations sur la configuration et le déploiement de l’espace de travail, consultez Créer un espace de travail.
Utilisez une ressource de calcul avec un mode d’accès au calcul pris en charge. Tous les modes d’accès au calcul n’ont pas accès à Unity Catalog :
Mode d’accès au calcul Prise en charge d’AutoML Support Unity Catalog utilisateur unique Pris en charge (doit être l’unique utilisateur désigné pour le cluster) Pris en charge Mode d’accès partagé Non pris en charge Non pris en charge Aucune isolation partagée Pris en charge Non pris en charge
Algorithmes AutoML
AutoML effectue l’apprentissage et évalue les modèles en fonction des algorithmes du tableau suivant.
Remarque
Pour les modèles de classification et de régression, l’arbre de décision, les forêts aléatoires, la régression logistique et la régression linéaire avec des algorithmes de descente de dégradé stochastique sont basés sur scikit-learn.
Modèles de classification | Modèles de régression | Modèles de prévisions |
---|---|---|
Arbres de décision | Arbres de décision | Prophet |
Forêts aléatoires | Forêts aléatoires | Auto-ARIMA (disponible dans Databricks Runtime 10.3 ML et versions ultérieures.) |
Régression logistique | Régression linéaire avec une descente de gradient stochastique | |
XGBoost | XGBoost | |
LightGBM | LightGBM |
Génération de notebooks d’évaluation
Le calcul classique AutoML génère des notebooks du code source derrière les versions d’évaluation afin de pouvoir passer en revue, reproduire et modifier le code en fonction des besoins.
Pour les expériences de prévision, les notebooks générés par AutoML sont automatiquement importés dans votre espace de travail pour toutes les évaluations de votre expérience.
Pour les expériences de classification et de régression, les notebooks générés par AutoML pour l’exploration des données et la meilleure évaluation de votre expérience sont automatiquement importés dans votre espace de travail. Les notebooks générés pour d’autres évaluations d’expérience sont enregistrés en tant qu’artefacts MLflow sur DBFS, au lieu d’être importés automatiquement dans votre espace de travail. Pour toutes les évaluations en plus de la meilleure évaluation, les fonctions notebook_path
et notebook_url
dans l’API Python TrialInfo
ne sont pas définies. Si vous devez utiliser ces notebooks, vous pouvez les importer manuellement dans votre espace de travail avec l’interface utilisateur de l’expérience AutoML ou l’databricks.automl.import_notebook
Python API.
Si vous utilisez uniquement le notebook d’exploration de données ou celui de la meilleure évaluation générée par AutoML, la colonne Source de l’interface utilisateur de l’expérience AutoML contient le lien vers le notebook généré pour la meilleure évaluation.
Si vous utilisez d’autres notebooks générés dans l’interface utilisateur de l’expérience AutoML, ceux-ci ne sont pas importés automatiquement dans l’espace de travail. Vous pouvez trouver les notebooks en cliquant sur chaque exécution de MLflow. Le notebook IPython est enregistré dans la section Artefacts de la page d’exécution. Vous pouvez télécharger ce notebook et l’importer dans l’espace de travail, à condition que le téléchargement des artefacts soit activé par les administrateurs de votre espace de travail.
Valeurs de Shapley (SHAP) pour l’explication du modèle
Remarque
Pour MLR 11.1 et versions antérieures, les tracés SHAP ne sont pas générés si le jeu de données contient une colonne datetime
.
Les notebooks produits par la régression et la classification AutoML incluent du code pour calculer des valeurs de Shapley. Les valeurs de Shapley sont basées sur la théorie du jeu et évaluent l’importance de chaque caractéristique pour les prédictions d’un modèle.
Les notebooks AutoML calculent les valeurs Shapley à l’aide du package SHAP. Étant donné que ces calculs sont extrêmement gourmands en mémoire, les calculs ne sont pas effectués par défaut.
Pour calculer et afficher les valeurs de Shapley :
- Accédez à la section Importance d’une caractéristique dans un notebook d’évaluation généré par AutoML.
- Définissez
shap_enabled = True
. - Réexécutez le notebook.