Référence de l'API Python AutoML
Cet article décrit l'API Python AutoML, qui fournit des méthodes pour start des exécutions AutoML de classification, de régression et de prévision. Chaque appel de méthode entraîne un ensemble de modèles et génère un Notebook d'essai pour chaque modèle.
Pour plus d'informations sur AutoML, y compris une option d'interface utilisateur low-code, consultez Qu'est-ce qu'AutoML ?.
Classer
La méthode databricks.automl.classify configure une exécution AutoML pour entraîner un modèle de classification.
Le paramètre max_trials est obsolète dans Databricks Runtime 10.4 ML et n'est pas pris en charge dans Databricks Runtime 11.0 ML et versions ultérieures. Utilisez timeout_minutes pour contrôler la durée d'une exécution d'AutoML.
databricks.automl.classify(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
primary_metric: str = "f1",
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None, # :re[DBR] 10.4 LTS ML and above
experiment_name: Optional[str] = None, # :re[DBR] 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # :re[DBR] 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # :re[DBR] 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # :re[DBR] 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # :re[DBR] 10.4 LTS ML and above
pos_label: Optional[Union[int, bool, str]] = None, # :re[DBR] 11.1 ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # :re[DBR] 15.3 ML and above
sample_weight_col: Optional[str] = None # :re[DBR] 15.4 ML and above
max_trials: Optional[int] = None, # :re[DBR] 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Classer les parameters
Nom du paramètre | Type | Description |
|---|---|---|
|
| Nom de la table d'entrée ou DataFrame qui contient les fonctionnalités d'entraînement et la cible. Le nom de la table peut être au format « <database_name>.<table_name> » ou « <schema_name>.<table_name> » pour les tables non Unity Catalog. |
|
| Nom de colonne pour l'étiquette cible. |
|
| Métrique utilisée pour évaluer et classer les performances du modèle. Mesures prises en charge pour la régression : « r2 » (default), « mae », « rmse », « mse » Métriques prises en charge pour la classification : « f1 » (default), « log_loss », « precision », « accuracy », « « roc_auc » |
|
| Facultatif. Chemin DBFS utilisé pour stocker le dataset d'entraînement. Ce chemin est visible à la fois par les nœuds driver et les nœuds worker. Databricks recommande de laisser ce champ vide, afin qu'AutoML puisse enregistrer le dataset d'entraînement en tant qu'artefact MLflow. Si un chemin personnalisé est spécifié, le dataset n'hérite pas des autorisations d'accès de l'expérimentation AutoML. |
|
| Facultatif. Chemin d’accès au répertoire dans le Workspace pour enregistrer les Notebooks et les Experimentations générés. Si vous utilisez une ressource de compute attribuée à un groupe, définissez-le sur un dossier pour lequel le groupe a l'autorisation d'écrire. default: |
|
| Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée. Default : Le nom est généré automatiquement. |
|
| Facultatif. Liste des colonnes à ignorer lors des calculs AutoML. default: [] |
|
| Facultatif. Liste des frameworks d'algorithmes que AutoML ne devrait pas prendre en compte lors du développement de modèles. Valeurs possibles : liste vide, ou un ou plusieurs de sklearn, lightgbm, xgboost. Default : [] (tous les frameworks sont considérés) |
|
| Facultatif. Liste de dictionnaires qui représentent les fonctionnalités du Magasin de fonctionnalités pour l'augmentation de données. Les clés valides dans chaque dictionnaire sont :
default: [] |
|
| Facultatif. Dictionnaire où chaque clé est un nom de colonne et chaque valeur est une chaîne ou un dictionnaire décrivant la stratégie d'imputation. Si spécifiée en tant que chaîne, la valeur doit être l’une des suivantes : « mean », « median » ou « most_frequent ». Pour imputer avec une valeur connue, spécifiez la valeur sous forme de dictionnaire Si aucune stratégie d'imputation n'est fournie pour une colonne, AutoML sélectionne une stratégie default basée sur le type et le contenu de la colonne. Si vous spécifiez une méthode d'imputation non default, AutoML n'effectue pas de détection de type sémantique. default: {} |
|
| (Classification uniquement) La classe positive. Ceci est utile pour le calcul de métriques telles que la précision et le rappel. Ne doit être spécifié que pour les problèmes de classification binaire. |
|
| Disponible dans Databricks Runtime 10.1 ML et versions supérieures. Facultatif. Nom de colonne pour une colonne de temps. Si fourni, AutoML tente de fractionner le dataset en jeux d'entraînement, de validation et de test chronologiquement, en utilisant les points les plus anciens comme données d'entraînement et les points les plus récents comme jeu de test. Les types de colonnes acceptés sont timestamp et entier. Avec Databricks Runtime 10,2 ML et versions ultérieures, les colonnes de chaînes sont également prises en charge. Si le type de colonne est une chaîne, AutoML essaie de le convertir en Timestamp à l'aide de la détection sémantique. Si la conversion échoue, l’exécution AutoML échoue. |
|
| Facultatif. Nom de la colonne pour une colonne de fractionnement. Disponible uniquement dans Databricks Runtime 15.3 ML et versions ultérieures pour les workflows d'API. Si fournie, AutoML tente de fractionner les ensembles d'entraînement/validation/test par des valeurs spécifiées par l'utilisateur, et cette colonne est automatiquement exclue des fonctionnalités d'entraînement. Le type de colonne accepté est la chaîne de caractères. La valeur de chaque entrée de cette colonne doit être l'une des suivantes : « train », « validate » ou « test ». |
|
| Disponible dans Databricks Runtime 15.4 ML et versions ultérieures pour les workflows d'API de classification. Facultatif. Nom de la colonne dans le dataset qui contient les poids d’échantillon pour chaque ligne. La classification prend en charge les poids d’échantillons par classe. Ces poids ajustent l'importance de chaque classe pendant l'entraînement du modèle. Chaque échantillon au sein d'une classe doit avoir le même poids d'échantillon, et les poids doivent être des valeurs décimales ou entières non négatives, allant de 0 à 10 000. Les classes avec des poids d’échantillons plus élevés sont considérées comme plus importantes et ont une influence plus grande sur l’algorithme d’apprentissage. Si cette colonne n'est pas spécifiée, toutes les classes sont supposées avoir le même poids. |
|
| Facultatif. Nombre maximal d'essais à exécuter. Ce parameter est disponible dans Databricks Runtime 10.5 ML et versions antérieures, mais est obsolète à partir de Databricks Runtime 10.3 ML. Dans Databricks Runtime 11,0 ML et versions supérieures, ce paramètre n'est pas pris en charge. Default : 20 Si timeout_minutes=None, AutoML exécute le nombre maximum d'essais. |
|
| Facultatif. Durée maximale d'attente pour que les essais AutoML se terminent. Des délais d'expiration plus longs permettent à AutoML d'exécuter davantage d'essais et d'identifier un modèle avec une meilleure précision. default: 120 minutes Valeur minimale : 5 minutes Une erreur est signalée si le délai d'expiration est trop court pour permettre à au moins un essai de se terminer. |
Régression
La méthode databricks.automl.regress configure une exécution AutoML pour entraîner un modèle de régression. Cette méthode renvoie un AutoMLSummary.
Le paramètre max_trials est obsolète dans Databricks Runtime 10.4 ML et n'est pas pris en charge dans Databricks Runtime 11.0 ML et versions ultérieures. Utilisez timeout_minutes pour contrôler la durée d'une exécution d'AutoML.
databricks.automl.regress(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
primary_metric: str = "r2",
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None, # :re[DBR] 10.4 LTS ML and above
experiment_name: Optional[str] = None, # :re[DBR] 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # :re[DBR] 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # :re[DBR] 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # :re[DBR] 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # :re[DBR] 10.4 LTS ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # :re[DBR] 15.3 ML and above
sample_weight_col: Optional[str] = None, # :re[DBR] 15.3 ML and above
max_trials: Optional[int] = None, # :re[DBR] 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Régresser les paramètres
Nom du paramètre | Type | Description |
|---|---|---|
|
| Nom de la table d'entrée ou DataFrame qui contient les fonctionnalités d'entraînement et la cible. Le nom de la table peut être au format « <database_name>.<table_name> » ou « <schema_name>.<table_name> » pour les tables non Unity Catalog. |
|
| Nom de colonne pour l'étiquette cible. |
|
| Métrique utilisée pour évaluer et classer les performances du modèle. Mesures prises en charge pour la régression : « r2 » (default), « mae », « rmse », « mse » Métriques prises en charge pour la classification : « f1 » (default), « log_loss », « precision », « accuracy », « « roc_auc » |
|
| Facultatif. Chemin DBFS utilisé pour stocker le dataset d'entraînement. Ce chemin est visible à la fois par les nœuds driver et les nœuds worker. Databricks recommande de laisser ce champ vide, afin qu'AutoML puisse enregistrer le dataset d'entraînement en tant qu'artefact MLflow. Si un chemin personnalisé est spécifié, le dataset n'hérite pas des autorisations d'accès de l'expérimentation AutoML. |
|
| Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés. default: |
|
| Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée. Default : Le nom est généré automatiquement. |
|
| Facultatif. Liste des colonnes à ignorer lors des calculs AutoML. default: [] |
|
| Facultatif. Liste des frameworks d'algorithmes que AutoML ne devrait pas prendre en compte lors du développement de modèles. Valeurs possibles : liste vide, ou un ou plusieurs de sklearn, lightgbm, xgboost. Default : [] (tous les frameworks sont considérés) |
|
| Facultatif. Liste de dictionnaires qui représentent les fonctionnalités du Magasin de fonctionnalités pour l'augmentation de données. Les clés valides dans chaque dictionnaire sont :
default: [] |
|
| Facultatif. Dictionnaire où chaque clé est un nom de colonne et chaque valeur est une chaîne ou un dictionnaire décrivant la stratégie d'imputation. Si spécifiée en tant que chaîne, la valeur doit être l’une des suivantes : « mean », « median » ou « most_frequent ». Pour imputer avec une valeur connue, spécifiez la valeur sous forme de dictionnaire Si aucune stratégie d'imputation n'est fournie pour une colonne, AutoML sélectionne une stratégie default basée sur le type et le contenu de la colonne. Si vous spécifiez une méthode d'imputation non default, AutoML n'effectue pas de détection de type sémantique. default: {} |
|
| Disponible dans Databricks Runtime 10.1 ML et versions supérieures. Facultatif. Nom de colonne pour une colonne de temps. Si fourni, AutoML tente de fractionner le dataset en jeux d'entraînement, de validation et de test chronologiquement, en utilisant les points les plus anciens comme données d'entraînement et les points les plus récents comme jeu de test. Les types de colonnes acceptés sont timestamp et entier. Avec Databricks Runtime 10,2 ML et versions ultérieures, les colonnes de chaînes sont également prises en charge. Si le type de colonne est une chaîne, AutoML essaie de le convertir en Timestamp à l'aide de la détection sémantique. Si la conversion échoue, l’exécution AutoML échoue. |
|
| Facultatif. Nom de la colonne pour une colonne de fractionnement. Disponible uniquement dans Databricks Runtime 15.3 ML et versions ultérieures pour les workflows d'API. Si fournie, AutoML tente de fractionner les ensembles d'entraînement/validation/test par des valeurs spécifiées par l'utilisateur, et cette colonne est automatiquement exclue des fonctionnalités d'entraînement. Le type de colonne accepté est la chaîne de caractères. La valeur de chaque entrée de cette colonne doit être l'une des suivantes : « train », « validate » ou « test ». |
|
| Disponible dans Databricks Runtime 15,3 ML et versions ultérieures pour les workflows d’API de régression. Facultatif. Nom de la colonne dans le dataset qui contient les poids d’échantillon pour chaque ligne. Ces pondérations ajustent l’importance de chaque ligne pendant l’entraînement du modèle. Les poids doivent être des valeurs décimales ou entières non négatives, comprises entre 0 et 10 000. Les lignes avec des poids d'échantillon plus élevés sont considérées plus importantes et ont une plus grande influence sur l'algorithme d'apprentissage. Si cette colonne n'est pas spécifiée, toutes les lignes sont considérées comme ayant un poids égal. |
|
| Facultatif. Nombre maximal d'essais à exécuter. Ce parameter est disponible dans Databricks Runtime 10.5 ML et versions antérieures, mais est obsolète à partir de Databricks Runtime 10.3 ML. Dans Databricks Runtime 11,0 ML et versions supérieures, ce paramètre n'est pas pris en charge. Default : 20 Si timeout_minutes=None, AutoML exécute le nombre maximum d'essais. |
|
| Facultatif. Durée maximale d'attente pour que les essais AutoML se terminent. Des délais d'expiration plus longs permettent à AutoML d'exécuter davantage d'essais et d'identifier un modèle avec une meilleure précision. default: 120 minutes Valeur minimale : 5 minutes Une erreur est signalée si le délai d'expiration est trop court pour permettre à au moins un essai de se terminer. |
Prévisions
La méthode databricks.automl.forecast configure une exécution AutoML pour l'entraînement d'un modèle de prévision. Cette méthode renvoie un AutoMLSummary.
Pour utiliser Auto-ARIMA, la série temporelle doit avoir une fréquence régulière (c'est-à-dire que l'intervalle entre deux points doit être le même tout au long de la série temporelle). La fréquence doit correspondre à l'unité de fréquence spécifiée dans l'appel d'API. AutoML gère les étapes temporelles manquantes en remplissant ces valeurs avec la valeur précédente.
databricks.automl.forecast(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
time_col: str,
primary_metric: str = "smape",
country_code: str = "US", # :re[DBR] 12.0 ML and above
frequency: str = "D",
horizon: int = 1,
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None,
experiment_name: Optional[str] = None, # :re[DBR] 12.1 ML and above
exclude_frameworks: Optional[List[str]] = None,
feature_store_lookups: Optional[List[Dict]] = None, # :re[DBR] 12.2 LTS ML and above
identity_col: Optional[Union[str, List[str]]] = None,
sample_weight_col: Optional[str] = None, # :re[DBR] 16.0 ML and above
output_database: Optional[str] = None, # :re[DBR] 10.5 ML and above
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Parameters de prévision
Nom du paramètre | Type | Description |
|---|---|---|
|
| Nom de la table d'entrée ou DataFrame qui contient les fonctionnalités d'entraînement et la cible. Le nom de la table peut être au format « .. » ou « . » pour les tables hors Unity Catalog. |
|
| Nom de colonne pour l'étiquette cible. |
|
| Nom de la colonne temporelle pour la prévision. |
|
| Métrique utilisée pour évaluer et classer les performances du modèle. Mesures prises en charge : « smape » (default), « mse », « rmse », « mae », ou « mdape ». |
|
| Disponible dans Databricks Runtime 12.0 ML et versions ultérieures. Pris en charge uniquement par le modèle de prévision Prophet. Facultatif. Code pays à deux lettres qui indique les jours fériés de quel pays le modèle de prévision doit utiliser. Pour ignorer les jours fériés, définissez ce paramètre sur une chaîne vide (“”). default : États-Unis (jours fériés aux États-Unis). |
|
| Fréquence de la série temporelle pour la prévision. C'est la période pendant laquelle les événements devraient se produire. Le paramètre par default est « D » ou données quotidiennes. Assurez-vous de modifier le paramètre si vos données ont une fréquence différente. Valeurs possibles : « W » (semaines) « D » / « jours » / « jour » « heures »/« heure »/« hr »/« h » « m » / « minute » / « min » / « minutes » / « T » « S » / « secondes » / « sec » / « seconde » Les éléments suivants sont uniquement disponibles avec Databricks Runtime 12.0 ML et versions supérieures : « M » / « mois » / « mois » « T » / « trimestre » / « trimestres » « Y »/« année »/« années » Default : « D » |
|
| Nombre de périodes futures pour lesquelles les prévisions doivent être renvoyées. Les unités sont la fréquence de la série temporelle. default : 1 |
|
| Facultatif. Chemin DBFS utilisé pour stocker le dataset d'entraînement. Ce chemin est visible à la fois par les nœuds driver et les nœuds worker. Databricks recommande de laisser ce champ vide, afin qu'AutoML puisse enregistrer le dataset d'entraînement en tant qu'artefact MLflow. Si un chemin personnalisé est spécifié, le dataset n'hérite pas des autorisations d'accès de l'expérimentation AutoML. |
|
| Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés. default: |
|
| Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée. Default : Le nom est généré automatiquement. |
|
| Facultatif. Liste des frameworks d'algorithmes que AutoML ne devrait pas prendre en compte lors du développement de modèles. Valeurs possibles : liste vide, ou une ou plusieurs de « prophet », « arima ». Default : [] (tous les frameworks sont considérés) |
|
| Facultatif. Liste de dictionnaires qui représentent les fonctionnalités du Magasin de fonctionnalités pour l'augmentation des données de covariables. Les clés valides dans chaque dictionnaire sont :
default: [] |
|
| Facultatif. Colonne(s) qui identifient les séries temporelles pour les prévisions multi-séries. AutoML regroupe par cette ou ces colonnes et la colonne de temps pour les prévisions. |
|
| Disponible dans Databricks Runtime 16.0 ML et versions supérieures. Uniquement pour les workflows de séries temporelles multiples. Facultatif. Indique la colonne du dataset qui contient les pondérations d'échantillon. Ces pondérations indiquent l'importance relative de chaque série temporelle pendant l'entraînement et l'évaluation du modèle. Les séries temporelles avec des pondérations plus élevées ont une plus grande influence sur le modèle. Si non fournie, toutes les séries temporelles sont traitées avec un poids égal. Toutes les lignes appartenant à la même série chronologique doivent avoir le même poids. Les poids doivent être des valeurs non négatives, soit des décimales, soit des entiers, et être compris entre 0 et 10 000. |
|
| Facultatif. Si indiqué, AutoML enregistre les prédictions du meilleur modèle dans une nouvelle table de la base de données spécifiée. Default : Les prédictions ne sont pas enregistrées. |
|
| Facultatif. Durée maximale d'attente pour que les essais AutoML se terminent. Des délais d'expiration plus longs permettent à AutoML d'exécuter davantage d'essais et d'identifier un modèle avec une meilleure précision. default: 120 minutes Valeur minimale : 5 minutes Une erreur est signalée si le délai d'expiration est trop court pour permettre à au moins un essai de se terminer. |
Importer un Notebook
La méthode databricks.automl.import_notebook importe un notebook qui a été enregistré en tant qu'artefact MLflow. Cette méthode renvoie un ImportNotebookResult.
databricks.automl.import_notebook(
artifact_uri: str,
path: str,
overwrite: bool = False
) -> ImportNotebookResult:
Paramètres | Type | Description |
|---|---|---|
|
| L’URI de l’artefact MLflow qui contient le notebook d’essai. |
|
| Le chemin d'accès dans le Workspace Databricks où le Notebook doit être importé. Il doit s'agir d'un chemin d'accès absolu. Le répertoire sera créé s'il n'existe pas. |
|
| Indique s’il faut écraser le notebook s’il existe déjà. C'est |
Exemple d'importation de notebook
summary = databricks.automl.classify(...)
result = databricks.automl.import_notebook(summary.trials[5].artifact_uri, "/Users/you@yourcompany.com/path/to/directory")
print(result.path)
print(result.url)
AutoMLSummary
Objet récapitulatif pour une exécution AutoML qui décrit les métriques, les parameters et d'autres détails pour chacun des essais. Vous utilisez également cet objet pour charger le modèle entraîné par un essai spécifique.
Propriété | Type | Description |
|---|---|---|
|
| L'expérimentation MLflow utilisée pour enregistrer les exécutions. |
|
| Une liste d'objets TrialInfo contenant des informations sur tous les essais effectués. |
|
| Un objet TrialInfo contenant des informations sur l'essai qui a donné le meilleur score pondéré pour l'indicateur principal. |
|
| La distribution des scores pondérés pour la métrique principale sur l'ensemble des essais. |
|
| À utiliser uniquement avec les prévisions et seulement si output_database est fourni. Nom de la table dans output_database contenant les prédictions du modèle. |
TrialInfo
Objet récapitulatif pour chaque essai individuel.
Propriété | Type | Description |
|---|---|---|
|
| Le chemin vers le notebook généré pour cet essai dans le Workspace. Pour la classification et la régression, cette valeur est définie uniquement pour le meilleur essai, tandis que tous les autres essais ont la valeur définie à Pour les prévisions, cette valeur est présente pour tous les essais. |
|
| L'URL du notebook généré pour cet essai. Pour la classification et la régression, cette valeur est définie uniquement pour le meilleur essai, tandis que tous les autres essais ont la valeur définie à Pour les prévisions, cette valeur est présente pour tous les essais. |
|
| L'URI d'artefact MLflow pour le Notebook généré. |
|
| L'ID d'exécution MLflow associé à cette exécution d'essai. |
|
| Les métriques enregistrées dans MLflow pour cet essai. |
|
| Les paramètres enregistrés dans MLflow qui ont été utilisés pour cet essai. |
|
| L'URL de l'artefact MLflow du modèle entraîné dans cet essai. |
|
| Brève description du modèle et des hyperparamètres utilisés pour entraîner ce modèle. |
|
| Durée de l'entraînement en minutes. |
|
| Description des préprocesseurs exécutés avant l'entraînement du modèle. |
|
| Score de la métrique principale, évalué pour le dataset de validation. |
TrialInfo dispose d'une méthode pour charger le modèle généré pour l'essai.
Méthode | Description |
|---|---|
| Chargez le modèle généré lors de cet essai, enregistré en tant qu'artefact MLflow. |
ImportNotebookResult
Propriété | Type | Description |
|---|---|---|
|
| Le chemin d'accès dans le Workspace Databricks où le Notebook doit être importé. Il doit s'agir d'un chemin d'accès absolu. Le répertoire sera créé s'il n'existe pas. |
|
| L’URI de l’artefact MLflow qui contient le notebook d’essai. |