Aller au contenu principal

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.

remarque

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.

Python
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

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

primary_metric

str

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 »

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

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: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_cols

List[str]

Facultatif. Liste des colonnes à ignorer lors des calculs AutoML.

default: []

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

imputers

Dict[str, Union[str, Dict[str, Any]]]

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 {"strategy": "constant", "fill_value": <desired value>}. Vous pouvez également spécifier des options de chaîne en tant que dictionnaires, par exemple {"strategy": "mean"}.

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: {}

pos_label

Union[int, bool, str]

(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.

time_col

str

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.

split_col

str

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 ».

sample_weight_col

str

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.

max_trials

int

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.

timeout_minutes

int

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.

Nom du paramètre

Type

Description

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

primary_metric

str

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 »

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

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: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_cols

List[str]

Facultatif. Liste des colonnes à ignorer lors des calculs AutoML.

default: []

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

imputers

Dict[str, Union[str, Dict[str, Any]]]

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 {"strategy": "constant", "fill_value": <desired value>}. Vous pouvez également spécifier des options de chaîne en tant que dictionnaires, par exemple {"strategy": "mean"}.

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: {}

pos_label

Union[int, bool, str]

(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.

time_col

str

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.

split_col

str

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 ».

sample_weight_col

str

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.

max_trials

int

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.

timeout_minutes

int

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.

remarque

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.

Python
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

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

primary_metric

str

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 »

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés.

default: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_cols

List[str]

Facultatif. Liste des colonnes à ignorer lors des calculs AutoML.

default: []

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

imputers

Dict[str, Union[str, Dict[str, Any]]]

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 {"strategy": "constant", "fill_value": <desired value>}. Vous pouvez également spécifier des options de chaîne en tant que dictionnaires, par exemple {"strategy": "mean"}.

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: {}

time_col

str

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.

split_col

str

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 ».

sample_weight_col

str

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.

max_trials

int

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.

timeout_minutes

int

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.

Nom du paramètre

Type

Description

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

primary_metric

str

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 »

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés.

default: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_cols

List[str]

Facultatif. Liste des colonnes à ignorer lors des calculs AutoML.

default: []

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

imputers

Dict[str, Union[str, Dict[str, Any]]]

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 {"strategy": "constant", "fill_value": <desired value>}. Vous pouvez également spécifier des options de chaîne en tant que dictionnaires, par exemple {"strategy": "mean"}.

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: {}

time_col

str

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.

split_col

str

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 ».

sample_weight_col

str

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.

max_trials

int

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.

timeout_minutes

int

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.

Python
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

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

time_col

str

Nom de la colonne temporelle pour la prévision.

primary_metric

str

Métrique utilisée pour évaluer et classer les performances du modèle.

Mesures prises en charge : « smape » (default), « mse », « rmse », « mae », ou « mdape ».

country_code

str

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 (“”).

Pays pris en charge.

default : États-Unis (jours fériés aux États-Unis).

frequency

str

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 »

horizon

int

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

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés.

default: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

identity_col

Union[str, list]

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.

sample_weight_col

str

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.

output_database

str

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.

timeout_minutes

int

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.

Nom du paramètre

Type

Description

dataset

str, pandas.DataFrame, pyspark.DataFrame, pyspark.sql.DataFrame

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.

target_col

str

Nom de colonne pour l'étiquette cible.

time_col

str

Nom de la colonne temporelle pour la prévision.

primary_metric

str

Métrique utilisée pour évaluer et classer les performances du modèle.

Mesures prises en charge : « smape » (default), « mse », « rmse », « mae », ou « mdape ».

country_code

str

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 (“”).

Pays pris en charge.

default : États-Unis (jours fériés aux États-Unis).

frequency

str

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 »

horizon

int

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

data_dir

str de format dbfs:/<folder-name>

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.

experiment_dir

str

Facultatif. Chemin du répertoire dans le workspace pour enregistrer les notebooks et les expérimentations générés.

default: /Users/<username>/databricks_automl/

experiment_name

str

Facultatif. Nom de l'expérimentation MLflow qu'AutoML crée.

Default : Le nom est généré automatiquement.

exclude_frameworks

List[str]

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)

feature_store_lookups

List[Dict]

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 :

  • table_name (chaîne de caractères) : Obligatoire. Nom de la table de fonctionnalités.
  • lookup_key (liste ou chaîne) : Requis. Nom(s) de colonne à utiliser comme clé lors de la jointure de la table de fonctionnalités avec les données passées dans le paramètre dataset. L'ordre des noms de colonnes doit correspondre à l'ordre des clés primaires de la table de fonctionnalités.
  • timestamp_lookup_key (str) : Obligatoire si la table spécifiée est une table de fonctionnalités de séries temporelles. Le nom de colonne à utiliser lors de l'exécution d'une recherche ponctuelle sur la table de fonctionnalités avec les données transmises dans le paramètre dataset.

default: []

identity_col

Union[str, list]

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.

sample_weight_col

str

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.

output_database

str

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.

timeout_minutes

int

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.

Python
databricks.automl.import_notebook(
artifact_uri: str,
path: str,
overwrite: bool = False
) -> ImportNotebookResult:

Paramètres

Type

Description

artifact_uri

str

L’URI de l’artefact MLflow qui contient le notebook d’essai.

path

str

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.

overwrite

bool

Indique s’il faut écraser le notebook s’il existe déjà. C'est False par défaut.

Paramètres

Type

Description

artifact_uri

str

L’URI de l’artefact MLflow qui contient le notebook d’essai.

path

str

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.

overwrite

bool

Indique s’il faut écraser le notebook s’il existe déjà. C'est False par défaut.

Exemple d'importation de notebook

Python
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

experiment

mlflow.entities.Experiment

L'expérimentation MLflow utilisée pour enregistrer les exécutions.

trials

List[TrialInfo]

Une liste d'objets TrialInfo contenant des informations sur tous les essais effectués.

best_trial

TrialInfo

Un objet TrialInfo contenant des informations sur l'essai qui a donné le meilleur score pondéré pour l'indicateur principal.

metric_distribution

str

La distribution des scores pondérés pour la métrique principale sur l'ensemble des essais.

output_table_name

str

À 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.

Propriété

Type

Description

experiment

mlflow.entities.Experiment

L'expérimentation MLflow utilisée pour enregistrer les exécutions.

trials

List[TrialInfo]

Une liste d'objets TrialInfo contenant des informations sur tous les essais effectués.

best_trial

TrialInfo

Un objet TrialInfo contenant des informations sur l'essai qui a donné le meilleur score pondéré pour l'indicateur principal.

metric_distribution

str

La distribution des scores pondérés pour la métrique principale sur l'ensemble des essais.

output_table_name

str

À 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

notebook_path

Optional[str]

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 à None.

Pour les prévisions, cette valeur est présente pour tous les essais.

notebook_url

Optional[str]

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 à None.

Pour les prévisions, cette valeur est présente pour tous les essais.

artifact_uri

Optional[str]

L'URI d'artefact MLflow pour le Notebook généré.

mlflow_run_id

str

L'ID d'exécution MLflow associé à cette exécution d'essai.

metrics

Dict[str, float]

Les métriques enregistrées dans MLflow pour cet essai.

params

Dict[str, str]

Les paramètres enregistrés dans MLflow qui ont été utilisés pour cet essai.

model_path

str

L'URL de l'artefact MLflow du modèle entraîné dans cet essai.

model_description

str

Brève description du modèle et des hyperparamètres utilisés pour entraîner ce modèle.

duration

str

Durée de l'entraînement en minutes.

preprocessors

str

Description des préprocesseurs exécutés avant l'entraînement du modèle.

evaluation_metric_score

float

Score de la métrique principale, évalué pour le dataset de validation.

Propriété

Type

Description

notebook_path

Optional[str]

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 à None.

Pour les prévisions, cette valeur est présente pour tous les essais.

notebook_url

Optional[str]

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 à None.

Pour les prévisions, cette valeur est présente pour tous les essais.

artifact_uri

Optional[str]

L'URI d'artefact MLflow pour le Notebook généré.

mlflow_run_id

str

L'ID d'exécution MLflow associé à cette exécution d'essai.

metrics

Dict[str, float]

Les métriques enregistrées dans MLflow pour cet essai.

params

Dict[str, str]

Les paramètres enregistrés dans MLflow qui ont été utilisés pour cet essai.

model_path

str

L'URL de l'artefact MLflow du modèle entraîné dans cet essai.

model_description

str

Brève description du modèle et des hyperparamètres utilisés pour entraîner ce modèle.

duration

str

Durée de l'entraînement en minutes.

preprocessors

str

Description des préprocesseurs exécutés avant l'entraînement du modèle.

evaluation_metric_score

float

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

load_model()

Chargez le modèle généré lors de cet essai, enregistré en tant qu'artefact MLflow.

Méthode

Description

load_model()

Chargez le modèle généré lors de cet essai, enregistré en tant qu'artefact MLflow.

ImportNotebookResult

Propriété

Type

Description

path

str

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.

url

str

L’URI de l’artefact MLflow qui contient le notebook d’essai.

Propriété

Type

Description

path

str

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.

url

str

L’URI de l’artefact MLflow qui contient le notebook d’essai.