Entraîner des modèles ML avec l’interface utilisateur Azure Databricks AutoML

Cet article explique comment entraîner un modèle Machine Learning à l’aide d’AutoML et de l’interface utilisateur Databricks Machine Learning. L’interface utilisateur AutoML vous guide tout au long du processus d’apprentissage d’un modèle de classification, régression ou prévision sur un jeu de données.

Pour accéder à l’interface utilisateur :

  1. Dans la barre latérale, sélectionnez Nouveau > Expérience AutoML.

    Vous pouvez également créer une nouvelle expérience AutoML à partir de la page expérimentations.

    La page Configurer l’expérimentation AutoML s’affiche. Dans cette page, vous configurez le processus AutoML, en spécifiant le jeu de données, le type de problème, la cible ou la colonne d’étiquette à prédire, la mesure à utiliser pour évaluer et noter les exécutions d’expérimentation, ainsi que les conditions d’arrêt.

Spécifications

Consultez les conditions relatives aux expériences AutoML.

Configurer des problèmes de classification ou de régression

Vous pouvez configurer un problème de classification ou de régression à l’aide de l’interface utilisateur AutoML en procédant comme suit :

  1. Dans le champ calcul, sélectionnez un cluster exécutant Databricks Runtime ML.

  2. Dans le menu déroulant type de problème ML , sélectionnez régression ou Classification. Si vous essayez de prédire une valeur numérique continue pour chaque observation, telle que le revenu annuel, sélectionnez régression. Si vous essayez d’assigner chaque observation à l’un des ensembles discrets de classes, par exemple, un risque de crédit ou un risque de crédit incorrect, sélectionnez classification.

  3. Sous Jeu de données, sélectionnez Parcourir.

  4. Accédez à la table que vous souhaitez utiliser, puis cliquez sur Sélectionner. Le schéma de la table s’affiche.

    Pour les problèmes de classification et de régression uniquement, vous pouvez spécifier les colonnes à inclure dans l’apprentissage et sélectionner les méthodes d’imputation personnalisées.

  5. Cliquez dans le champ cible de prédiction. Une liste déroulante apparaît et répertorie les colonnes affichées dans le schéma. Sélectionnez la colonne que le modèle doit prédire.

  6. Le champ Nom de l'expérience affiche le nom par défaut. Pour le modifier, tapez le nouveau nom dans le champ.

Vous pouvez également :

Configurer des problèmes de prévision

Vous pouvez configurer un problème de prévision à l’aide de l’interface utilisateur AutoML en procédant comme suit :

  1. Dans le champ calcul , sélectionnez un cluster exécutant Databricks Runtime 10.0 ML ou version ultérieure.
  2. Dans le menu déroulant type de problème ML, sélectionnez prévisions.
  3. Sous Jeu de données, cliquez sur Parcourir. Accédez à la table que vous souhaitez utiliser, puis cliquez sur Sélectionner. Le schéma de la table s’affiche.
  4. Cliquez dans le champ cible de prédiction. Un menu déroulant apparaît et répertorie les colonnes affichées dans le schéma. Sélectionnez la colonne que le modèle doit prédire.
  5. Cliquez dans le champ colonne d’heure. Une liste déroulante s’affiche avec les colonnes de jeu de données de type timestamp ou date. Sélectionnez la colonne contenant les périodes de la série chronologique.
  6. Pour les prévisions sur plusieurs séries, sélectionnez la ou les colonnes qui identifient les séries chronologiques individuelles dans la liste déroulante identificateurs de série chronologique. AutoML regroupe les données en fonction des différentes séries chronologiques et forme un modèle pour chaque série de manière indépendante. Si vous laissez ce champ vide, AutoML suppose que le jeu de données contient une seule série chronologique.
  7. Dans les champs horizon de prévision et fréquence, spécifiez le nombre de périodes dans le futur pour lesquelles AutoML doit calculer les valeurs prévues. Dans la zone de gauche, entrez le nombre entier de périodes à prévoir. Dans la zone de droite, sélectionnez les unités. .. Remarque : Pour utiliser la ARIMA automatique, la série chronologique doit avoir une fréquence régulière (autrement dit, l’intervalle entre deux points quelconques doit être le même dans toute la série chronologique). La fréquence doit correspondre à l’unité de fréquence spécifiée dans l’appel d’API ou dans l’interface utilisateur AutoML. AutoML gère les étapes de temps manquantes en remplissant ces valeurs avec la valeur précédente.
  8. Dans Databricks Runtime 11.3 LTS ML et versions ultérieures, vous pouvez enregistrer les résultats de prédiction. Pour ce faire, spécifiez une base de données dans le champ Base de données de sortie. Cliquez sur Parcourir et sélectionnez une base de données dans la boîte de dialogue. AutoML écrit les résultats de prédiction dans une table de cette base de données.
  9. Le champ Nom de l'expérience affiche le nom par défaut. Pour le modifier, tapez le nouveau nom dans le champ.

Vous pouvez également :

Utiliser les tables de caractéristiques existantes de Databricks Feature Store

Dans Databricks Runtime 11.3 LTS ML et versions ultérieures, vous pouvez utiliser des tables de caractéristiques dans le magasin de caractéristiques Databricks pour développer le jeu de données d’apprentissage d’entrée pour vos problèmes de classification et de régression.

Dans Databricks Runtime 12.2 LTS ML et versions ultérieures, vous pouvez utiliser des tables de caractéristiques dans le magasin de caractéristiques Databricks pour développer le jeu de données d’apprentissage d’entrée pour tous vos problèmes AutoML : classification, régression et prévision.

Pour créer une table de fonctionnalités, consultez Créer une table de fonctionnalités dans Unity Catalog ou Créer une table de fonctionnalités dans Databricks Feature Store.

Une fois que vous avez terminé la configuration de votre expérience AutoML, vous pouvez sélectionner une table de caractéristiques en procédant comme suit :

  1. Cliquez sur Joindre des caractéristiques (facultatif).

    Sélectionnez le bouton Joindre des fonctionnalités

  2. Dans la page Joindre des caractéristiques supplémentaires, sélectionnez une table de caractéristiques dans le champ Table de caractéristiques.

  3. Pour chaque clé primaire de table de caractéristiques, sélectionnez la clé de recherche correspondante. La clé de recherche doit être une colonne dans le jeu de données d’entraînement que vous avez fourni pour votre expérience AutoML.

  4. Pour les tables de caractéristiques de série chronologique, sélectionnez la clé de recherche de timestamp correspondante. De même, la clé de recherche de timestamp doit être une colonne dans le jeu de données d’entraînement que vous avez fourni pour votre expérience AutoML.

    Sélectionner la clé primaire et les tables de recherche

  5. Pour ajouter d’autres tables de caractéristiques, cliquez sur Ajouter une autre table et répétez les étapes ci-dessus.

Configurations avancées

Ouvrez la section Configuration avancée (facultative) pour accéder à ces paramètres.

  • La mesure d’évaluation est la métrique principale utilisée pour noter les exécutions.
  • Dans Databricks Runtime 10.4 LTS ML et versions ultérieures, vous pouvez exclure des infrastructures d’apprentissage. Par défaut, AutoML forme les modèles à l’aide d’infrastructures listées sous algorithmes AutoML.
  • Vous pouvez modifier les conditions d’arrêt. Les conditions d’arrêt par défaut sont :
    • Pour les expériences de prévision, arrêtez après 120 minutes.
    • Dans Databricks Runtime 10.4 LTS ML et versions antérieures, pour les expériences de classification et de régression, arrêtez au bout de 60 minutes ou après avoir effectué 200 essais, selon la situation qui se produit en premier. Pour Databricks Runtime 11.0 ML et les versions ultérieures, le nombre d’essais n’est pas utilisé comme condition d’arrêt.
    • Dans Databricks Runtime 10.4 LTS ML et versions ultérieures, pour les expériences de classification et de régression, AutoML intègre des arrêts précoces. il arrête les modèles d’apprentissage et d’ajustage si la mesure de validation ne s’améliore plus.
  • Dans Databricks Runtime 10.4 LTS ML et versions ultérieures, vous pouvez sélectionner une colonne de temps pour fractionner les données d’apprentissage, de validation et de test dans l’ordre chronologique (s’applique uniquement à la classification et à la régression).
  • Databricks recommande de ne pas remplir le champ répertoire de données. Cela déclenche le comportement par défaut qui consiste à stocker en toute sécurité le jeu de données en tant qu’artefact MLflow. Un chemin d’accès DBFS peut être spécifié, mais dans ce cas, le jeu de données n’hérite pas des autorisations d’accès de l’expérience AutoML.

Sélection de colonnes

Notes

Cette fonctionnalité est disponible pour les problèmes de classification et de régression

Dans Databricks Runtime 10.3 ML et versions ultérieures, vous pouvez spécifier les colonnes que AutoML doit utiliser pour l’apprentissage. Pour exclure une colonne, décochez-la dans la colonne inclure .

Vous ne pouvez pas supprimer la colonne sélectionnée en tant que cible de prédiction ou en tant que colonne de temps pour fractionner les données.

Les colonnes de jointure sont incluses par défaut.

Imputation de valeurs manquantes

Dans Databricks Runtime 10.4 LTS ML et versions ultérieures, vous pouvez spécifier la manière dont les valeurs null sont imputées. Dans l’interface utilisateur, sélectionnez une méthode dans la liste déroulante dans la colonne Imputer avec dans le schéma de table.

Par défaut, AutoML sélectionne une méthode d’imputation en fonction du type et du contenu de la colonne.

Notes

Si vous spécifiez une méthode d’imputation autre que celle par défaut, AutoML n’effectue pas la détection de type sémantique.

Exécuter l’expérience et vérifier les résultats

Pour démarrer l’expérience AutoML, cliquez sur Démarrer AutoML. L’expérimentation commence à s’exécuter et la page de formation AutoML s’affiche. Cliquez sur le bouton Actualiser pour actualiser la liste.

À partir de cette page, vous pouvez :

  • Arrêtez l’expérience à tout moment.
  • Ouvrez le bloc-notes d'exploration des données.
  • Surveiller les exécutions.
  • Accédez à la page d’exécution de toutes les exécutions.

Avec Databricks Runtime 10.1 ML et versions ultérieures, AutoML affiche des avertissements pour les problèmes potentiels liés au jeu de données, tels que les types de colonnes non pris en charge ou les colonnes de cardinalité élevée.

Notes

Databricks fait de son mieux pour indiquer des erreurs ou des problèmes potentiels. Toutefois, cela n’est peut-être pas complet et peut ne pas capturer les problèmes ou les erreurs que vous recherchez. Veillez également à effectuer vos propres révisions.

Pour afficher les avertissements pour le jeu de données, cliquez sur l’onglet Avertissements de la page formation, ou sur la page expérience une fois l’expérience terminée.

Avertissements AutoML

Une fois l’expérience terminée, vous pouvez :

  • Enregistrer et déployez l’un des modèles avec MLflow.
  • Sélectionnez Afficher le notebook pour obtenir le meilleur modèle pour vérifier et modifier le notebook qui a créé le meilleur modèle.
  • Sélectionnez afficher le notebook d’exploration des données pour ouvrir le notebook exploration de données.
  • Recherchez, filtrez et triez les exécutions dans le tableau des exécutions.
  • Affichez les détails de toutes les exécutions :
    • Le notebook généré contenant du code source pour une exécution d’évaluation est disponible en cliquant sur l’exécution de MLflow. Le notebook 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.
    • Pour afficher les résultats de l’exécution, cliquez dans la colonne modèles ou dans la colonne heure de début . La page d’exécution s’affiche avec des informations sur la série de tests (tels que les paramètres, les métriques et les balises) et les artefacts créés par l’exécution, y compris le modèle. Cette page comprend également des extraits de code que vous pouvez utiliser pour faire des prédictions avec le modèle.

Pour revenir à cette expérience AutoML ultérieurement, recherchez-la dans le tableau de la page expérimentations. Les résultats de chaque expérience AutoML, y compris les carnets d'exploration des données et d'entraînement, sont stockés dans un dossierdatabricks_automl du dossier personnel de l'utilisateur qui a réalisé l'expérience.

Inscrire et déployer un modèle

Vous pouvez inscrire et déployer votre modèle avec l’interface utilisateur AutoML :

  1. Sélectionnez le lien dans la colonne modèles pour le modèle à inscrire. Lorsqu’une exécution est terminée, le meilleur modèle (basé sur la métrique principale) est la ligne supérieure.
  2. Sélectionnez le bouton enregistrer le modèle pour enregistrer le modèle dans le registre des modèles.
  3. Sélectionnez l’icône ModèlesModèles dans la barre latérale pour accéder au registre des modèles.
  4. Sélectionnez le nom de votre modèle dans la table modèle.
  5. À partir de la page du modèle enregistré, vous pouvez mettre en service le modèle avec Mise en service de modèles.

Aucun module nommé 'pandas.core.indexes.numeric

Lors de la distribution d’un modèle créé à l’aide d’AutoML avec le service de modèle, vous pouvez obtenir l’erreur suivante : No module named 'pandas.core.indexes.numeric.

Cela est dû à une version pandas incompatible entre AutoML et l’environnement de point de terminaison de service du modèle. Vous pouvez résoudre cette erreur en exécutant le script add-pandas-dependency.py. Le script modifie requirements.txt et conda.yaml pour que votre modèle journalisé inclue la version de dépendance appropriée pandas : pandas==1.5.3

  1. Modifiez le script pour inclure le run_id de l’exécution MLflow où votre modèle a été journalisé.
  2. Réinscrire le modèle dans le registre de modèles MLflow.
  3. Essayez de servir la nouvelle version du modèle MLflow.