Referência da API Python do AutoML
Este artigo descreve o site AutoML Python API, que fornece métodos para iniciar a classificação, a regressão e a previsão de execução AutoML. Cada chamada de método treina um conjunto de modelos e gera um Notebook de teste para cada modelo.
Para obter mais informações sobre AutoML, incluindo uma opção de UI de baixo código, consulte O que é AutoML?
Classificar
O método databricks.automl.classify
configura uma execução do AutoML para treinar um modelo de classificação.
O parâmetro max_trials
foi preterido no Databricks Runtime 10,4 ML e não tem suporte no Databricks Runtime 11,0 MLe acima. Use timeout_minutes
para controlar a duração de uma execução do 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, # <DBR> 10.4 LTS ML and above
experiment_name: Optional[str] = None, # <DBR> 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
pos_label: Optional[Union[int, bool, str]] = None, # <DBR> 11.1 ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # <DBR> 15.3 ML and above
sample_weight_col: Optional[str] = None # <DBR> 15.4 ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Classificar parâmetros
Nome do parâmetro | Tipo | Descrição |
---|---|---|
|
| Insira o nome da tabela ou DataFrame que contém o treinamento recurso e o destino. O nome da tabela pode estar no formato "<database_name>.<table_name>" "<schema_name>.<table_name>"para tabelas que não sejam do Unity Catalog. |
|
| Nome da coluna para o rótulo de destino. |
|
| métricas usadas para avaliar e classificar o desempenho do modelo. Métricas suportadas para regressão: "r2" (default), "mae", "rmse", "mse" Métricas suportadas para classificação: "f1" (default), "logs", "precision", "accuracy", "ROC" |
|
| Opcional. DBFS caminho usado para armazenar o treinamento dataset. Esse caminho é visível para os nós do driver e do worker. Databricks recomenda deixar esse campo vazio, para que o site AutoML possa salvar o treinamento dataset como um artefato MLflow. Se um caminho personalizado for especificado, o dataset não herdará as permissões de acesso do experimento AutoML. |
|
| Opcional. Caminho para o diretório no site workspace para salvar o Notebook e os experimentos gerados. Se o senhor estiver usando um recurso compute atribuído a um grupo, defina-o como uma pasta na qual o grupo tenha permissão de gravação. padrão: |
|
| Opcional. Nome do experimento MLflow que o AutoML cria. padrão: O nome é gerado automaticamente. |
|
| Opcional. Lista de colunas a serem ignoradas durante os cálculos do AutoML. padrão: [] |
|
| Opcional. Lista de estruturas de algoritmos que o AutoML não deve considerar ao desenvolver modelos. Valores possíveis: lista vazia, ou um ou mais de "sklearn", "lightgbm", "xgboost". padrão: [] (todos os frameworks são considerados) |
|
| Opcional. Lista de dicionários que representam recurso do recurso Store para aumento de dados. As chaves válidas em cada dicionário são:
padrão: [] |
|
| Opcional. Dicionário em que cada key é um nome de coluna e cada valor é uma cadeia de caracteres ou um dicionário que descreve a estratégia de imputação. Se for especificado como uma cadeia de caracteres, o valor deverá ser uma das opções "mean" (média), "median" (mediana) ou "most_frequent" (mais frequente). Para imputar com um valor conhecido, especifique o valor como um dicionário Se nenhuma estratégia de imputação for fornecida para uma coluna, o site AutoML seleciona uma estratégia default com base no tipo e no conteúdo da coluna. Se o senhor especificar um método de imputação que não seja odefault, o AutoML não realizará a detecção do tipo semântico. padrão: {} |
|
| (Somente classificação) A classe positiva. Isso é útil para calcular métricas como precisão e recall. Só deve ser especificado para problemas de classificação binária. |
|
| Disponível no Databricks Runtime 10.1 MLe acima. Opcional. Nome da coluna para uma coluna de tempo. Se fornecido, o site AutoML tenta dividir o dataset em conjuntos de treinamento, validação e teste cronologicamente, usando os pontos mais antigos como dados de treinamento e os pontos mais recentes como conjunto de teste. Os tipos de coluna aceitos são timestamp e integer. Com o Databricks Runtime 10.2 MLe acima, colunas strings também são suportadas. Se o tipo de coluna for strings, o AutoML tentará convertê-lo em carimbo de data/hora usando a detecção semântica. Se a conversão falhar, a execução do AutoML falhará. |
|
| Opcional. Nome da coluna para uma coluna dividida. Disponível somente em Databricks Runtime 15.3 ML e acima para API fluxo de trabalho. Se fornecido, o site AutoML tentará dividir os conjuntos de treinamento/validação/teste por valores especificados pelo usuário, e essa coluna será automaticamente excluída do treinamento recurso. O tipo de coluna aceito é a cadeia de caracteres. O valor de cada entrada nessa coluna deve ser um dos seguintes: “treinar”, “validar” ou “testar”. |
|
| Disponível em Databricks Runtime 15.4 ML e acima para classificação API fluxo de trabalho. Opcional. Nome da coluna no site dataset que contém os pesos da amostra para cada linha. A classificação suporta pesos amostrais por classe. Esses pesos ajustam a importância de cada classe durante o treinamento do modelo. Cada amostra dentro de uma classe deve ter o mesmo peso amostral e os pesos devem ser valores decimais ou inteiros não negativos, variando de 0 a 10.000. Classes com pesos amostrais maiores são consideradas mais importantes e têm maior influência no algoritmo de aprendizado. Se essa coluna não for especificada, presume-se que todas as classes tenham o mesmo peso. |
|
| Opcional. Número máximo de tentativas para execução. Esse parâmetro está disponível no Databricks Runtime 10.5 ML e abaixo, mas está obsoleto a partir do Databricks Runtime 10.3 ML. Em Databricks Runtime 11.0 ML e acima, não há suporte para esse parâmetro. padrão: 20 Se timeout_minutes=None, AutoML executa o número máximo de tentativas. |
|
| Opcional. Tempo máximo de espera para que os testes do AutoML sejam concluídos. Os tempos limite mais longos permitem que o site AutoML execute mais testes e identifique um modelo com melhor precisão. Padrão: 120 minutos Valor mínimo: 5 minutos Um erro é relatado se o tempo limite for muito curto para permitir a conclusão de pelo menos uma tentativa. |
Regressão
O método databricks.automl.regress
configura uma execução do AutoML para treinar um modelo de regressão. Esse método retorna um AutomlSummary.
O parâmetro max_trials
foi preterido no Databricks Runtime 10,4 ML e não tem suporte no Databricks Runtime 11,0 MLe acima. Use timeout_minutes
para controlar a duração de uma execução do 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, # <DBR> 10.4 LTS ML and above
experiment_name: Optional[str] = None, # <DBR> 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # <DBR> 15.3 ML and above
sample_weight_col: Optional[str] = None, # <DBR> 15.3 ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Parâmetros de regressão
Nome do parâmetro | Tipo | Descrição |
---|---|---|
|
| Insira o nome da tabela ou DataFrame que contém o treinamento recurso e o destino. O nome da tabela pode estar no formato "<database_name>.<table_name>" "<schema_name>.<table_name>"para tabelas que não sejam do Unity Catalog. |
|
| Nome da coluna para o rótulo de destino. |
|
| métricas usadas para avaliar e classificar o desempenho do modelo. Métricas suportadas para regressão: "r2" (default), "mae", "rmse", "mse" Métricas suportadas para classificação: "f1" (default), "logs", "precision", "accuracy", "ROC" |
|
| Opcional. DBFS caminho usado para armazenar o treinamento dataset. Esse caminho é visível para os nós do driver e do worker. Databricks recomenda deixar esse campo vazio, para que o site AutoML possa salvar o treinamento dataset como um artefato MLflow. Se um caminho personalizado for especificado, o dataset não herdará as permissões de acesso do experimento AutoML. |
|
| Opcional. Caminho para o diretório no site workspace para salvar o Notebook e os experimentos gerados. padrão: |
|
| Opcional. Nome do experimento MLflow que o AutoML cria. padrão: O nome é gerado automaticamente. |
|
| Opcional. Lista de colunas a serem ignoradas durante os cálculos do AutoML. padrão: [] |
|
| Opcional. Lista de estruturas de algoritmos que o AutoML não deve considerar ao desenvolver modelos. Valores possíveis: lista vazia, ou um ou mais de "sklearn", "lightgbm", "xgboost". padrão: [] (todos os frameworks são considerados) |
|
| Opcional. Lista de dicionários que representam recurso do recurso Store para aumento de dados. As chaves válidas em cada dicionário são:
padrão: [] |
|
| Opcional. Dicionário em que cada key é um nome de coluna e cada valor é uma cadeia de caracteres ou um dicionário que descreve a estratégia de imputação. Se for especificado como uma cadeia de caracteres, o valor deverá ser uma das opções "mean" (média), "median" (mediana) ou "most_frequent" (mais frequente). Para imputar com um valor conhecido, especifique o valor como um dicionário Se nenhuma estratégia de imputação for fornecida para uma coluna, o site AutoML seleciona uma estratégia default com base no tipo e no conteúdo da coluna. Se o senhor especificar um método de imputação que não seja odefault, o AutoML não realizará a detecção do tipo semântico. padrão: {} |
|
| Disponível no Databricks Runtime 10.1 MLe acima. Opcional. Nome da coluna para uma coluna de tempo. Se fornecido, o site AutoML tenta dividir o dataset em conjuntos de treinamento, validação e teste cronologicamente, usando os pontos mais antigos como dados de treinamento e os pontos mais recentes como conjunto de teste. Os tipos de coluna aceitos são timestamp e integer. Com o Databricks Runtime 10.2 MLe acima, colunas strings também são suportadas. Se o tipo de coluna for strings, o AutoML tentará convertê-lo em carimbo de data/hora usando a detecção semântica. Se a conversão falhar, a execução do AutoML falhará. |
|
| Opcional. Nome da coluna para uma coluna dividida. Disponível somente em Databricks Runtime 15.3 ML e acima para API fluxo de trabalho. Se fornecido, o site AutoML tentará dividir os conjuntos de treinamento/validação/teste por valores especificados pelo usuário, e essa coluna será automaticamente excluída do treinamento recurso. O tipo de coluna aceito é a cadeia de caracteres. O valor de cada entrada nessa coluna deve ser um dos seguintes: “treinar”, “validar” ou “testar”. |
|
| Disponível em Databricks Runtime 15.3 ML e acima para regressão API fluxo de trabalho. Opcional. Nome da coluna no site dataset que contém os pesos da amostra para cada linha. Esses pesos ajustam a importância de cada linha durante o treinamento do modelo. Os pesos devem ser valores decimais ou inteiros não negativos, variando de 0 a 10.000. Linhas com pesos amostrais maiores são consideradas mais importantes e têm maior influência no algoritmo de aprendizado. Se essa coluna não for especificada, presume-se que todas as linhas tenham o mesmo peso. |
|
| Opcional. Número máximo de tentativas para execução. Esse parâmetro está disponível no Databricks Runtime 10.5 ML e abaixo, mas está obsoleto a partir do Databricks Runtime 10.3 ML. Em Databricks Runtime 11.0 ML e acima, não há suporte para esse parâmetro. padrão: 20 Se timeout_minutes=None, AutoML executa o número máximo de tentativas. |
|
| Opcional. Tempo máximo de espera para que os testes do AutoML sejam concluídos. Os tempos limite mais longos permitem que o site AutoML execute mais testes e identifique um modelo com melhor precisão. Padrão: 120 minutos Valor mínimo: 5 minutos Um erro é relatado se o tempo limite for muito curto para permitir a conclusão de pelo menos uma tentativa. |
Previsão
O método databricks.automl.forecast
configura uma execução AutoML para o treinamento de um modelo de previsão. Esse método retorna um AutomlSummary.
Para usar o Auto-ARIMA, a série temporal deve ter uma frequência regular (ou seja, o intervalo entre dois pontos quaisquer deve ser o mesmo em toda a série temporal). A frequência deve corresponder à unidade de frequência especificada na chamada de API. O AutoML lida com as etapas de tempo ausentes preenchendo esses valores com o valor anterior.
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", # <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, # <DBR> 12.1 ML and above
exclude_frameworks: Optional[List[str]] = None,
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 12.2 LTS ML and above
identity_col: Optional[Union[str, List[str]]] = None,
sample_weight_col: Optional[str] = None, # <DBR> 16.0 ML and above
output_database: Optional[str] = None, # <DBR> 10.5 ML and above
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
Parâmetros de previsão
Nome do parâmetro | Tipo | Descrição |
---|---|---|
|
| Insira o nome da tabela ou DataFrame que contém o treinamento recurso e o destino. O nome da tabela pode estar no formato "..." ou "." para tabelas que não sejam do Unity Catalog |
|
| Nome da coluna para o rótulo de destino. |
|
| Nome da coluna de tempo para previsão. |
|
| métricas usadas para avaliar e classificar o desempenho do modelo. Métricas suportadas: "smape" (default), "mse", "rmse", "mae" ou "mdape". |
|
| Disponível no Databricks Runtime 12,0 MLe acima. Suportado apenas pelo modelo de previsão do Profeta. Opcional. Código de país de duas letras que indica quais feriados do país o modelo de previsão deve usar. Para ignorar os feriados, defina esse parâmetro como uma cadeia de caracteres vazia (""). padrão: US (feriados nos Estados Unidos). |
|
| Frequência da série temporal para previsão. Esse é o período com o qual se espera que os eventos ocorram. A configuração do site default é "D" ou dados diários. Certifique-se de alterar a configuração se seus dados tiverem uma frequência diferente. Valores possíveis: “W” (semanas) “D”/“dias”/“dia” “horas”/“hora”/“hora”/“h” “m”/“minuto”/“min”/“minutos”/“T” “S”/“segundos”/“seg”/“segundo” O seguinte está disponível apenas com Databricks Runtime 12.0 MLe acima: “M”/“mês”/“meses” “Q”/“trimestre”/“trimestres” “Y”/“ano”/“anos” Padrão: "D". |
|
| Número de períodos futuros para os quais as previsões devem ser retornadas. As unidades são a frequência da série temporal. padrão: 1 |
|
| Opcional. DBFS caminho usado para armazenar o treinamento dataset. Esse caminho é visível para os nós do driver e do worker. Databricks recomenda deixar esse campo vazio, para que o site AutoML possa salvar o treinamento dataset como um artefato MLflow. Se um caminho personalizado for especificado, o dataset não herdará as permissões de acesso do experimento AutoML. |
|
| Opcional. Caminho para o diretório no site workspace para salvar o Notebook e os experimentos gerados. padrão: |
|
| Opcional. Nome do experimento MLflow que o AutoML cria. padrão: O nome é gerado automaticamente. |
|
| Opcional. Lista de estruturas de algoritmos que o AutoML não deve considerar ao desenvolver modelos. Valores possíveis: lista vazia ou um ou mais de “profeta”, “arima”. padrão: [] (todos os frameworks são considerados) |
|
| Opcional. Lista de dicionários que representam recurso do recurso Store para aumento de dados covariados. As chaves válidas em cada dicionário são:
padrão: [] |
|
| Opcional. Coluna (s) que identifica a série temporal para previsão de várias séries. O AutoML agrupa por essa(s) coluna(s) e a coluna de tempo para previsão. |
|
| Disponível em Databricks Runtime 16.0 ML e acima. Somente para fluxo de trabalho com várias séries temporais. Opcional. Especifica a coluna no site dataset que contém os pesos da amostra. Esses pesos indicam a importância relativa de cada série temporal durante o treinamento e a avaliação do modelo. Séries temporais com pesos maiores têm maior influência no modelo. Se não forem fornecidas, todas as séries temporais serão tratadas com o mesmo peso. Todas as linhas pertencentes à mesma série temporal devem ter o mesmo peso. Os pesos devem ser valores não negativos, decimais ou inteiros, e estar entre 0 e 10.000. |
|
| Opcional. Se fornecido, o AutoML salvará as previsões do melhor modelo em uma nova tabela no banco de dados especificado. padrão: As previsões não são salvas. |
|
| Opcional. Tempo máximo de espera para que os testes do AutoML sejam concluídos. Os tempos limite mais longos permitem que o site AutoML execute mais testes e identifique um modelo com melhor precisão. Padrão: 120 minutos Valor mínimo: 5 minutos Um erro é relatado se o tempo limite for muito curto para permitir a conclusão de pelo menos uma tentativa. |
Importar Notebook
O método databricks.automl.import_notebook
importa um Notebook que foi salvo como um artefato do site MLflow. Esse método retorna um importNotebookResult.
databricks.automl.import_notebook(
artifact_uri: str,
path: str,
overwrite: bool = False
) -> ImportNotebookResult:
Parâmetros | Tipo | Descrição |
---|---|---|
|
| O URI do artefato MLflow que contém o Notebook de teste. |
|
| O caminho no site Databricks workspace para onde o Notebook deve ser importado. Esse deve ser um caminho absoluto. O diretório será criado se não existir. |
|
| Se o Notebook deve ser substituído, caso já exista. É |
Exemplo de Notebook de importação
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
Objeto de resumo de uma execução do AutoML que descreve as métricas, os parâmetros e outros detalhes de cada um dos testes. Você também usa esse objeto para carregar o modelo treinado por um teste específico.
Propriedade | Tipo | Descrição |
---|---|---|
|
| O experimento MLflow usado para log os testes. |
|
| Uma lista de objetos TrialInfo contendo informações sobre todas as tentativas que foram executadas. |
|
| Um objeto TrialInfo contendo informações sobre o estudo que resultou na melhor pontuação ponderada para as métricas primárias. |
|
| A distribuição dos escores ponderados para as métricas primárias em todos os estudos. |
|
| Usado somente com previsão e somente se output_database for fornecido. Nome da tabela em output_database contendo as previsões do modelo. |
TrialInfo
Objeto resumido para cada ensaio individual.
Propriedade | Tipo | Descrição |
---|---|---|
|
| O caminho para o Notebook gerado para esse teste no site workspace. Para classificação e regressão, esse valor é definido somente para a melhor tentativa, enquanto todas as outras tentativas têm o valor definido como Para previsão, esse valor está presente em todos os ensaios. |
|
| O URL do Notebook gerado para esse teste. Para classificação e regressão, esse valor é definido somente para a melhor tentativa, enquanto todas as outras tentativas têm o valor definido como Para previsão, esse valor está presente em todos os ensaios. |
|
| O URI do artefato MLflow para o Notebook gerado. |
|
| A ID de execução do MLflow associada a essa execução de teste. |
|
| As métricas acessam MLflow para esse teste. |
|
| O registro dos parâmetros em MLflow que foram usados para este teste. |
|
| O URL do artefato do MLflow do modelo treinado nessa tentativa. |
|
| Breve descrição do modelo e dos hiperparâmetros usados para o treinamento desse modelo. |
|
| treinamento duração em minutos. |
|
| Descrição da execução dos pré-processadores antes do treinamento do modelo. |
|
| Pontuação de métricas primárias, avaliadas para a validação dataset. |
TrialInfo
tem um método para carregar o modelo gerado para o teste.
Método | Descrição |
---|---|
| Carregue o modelo gerado nesse teste, registrado como um artefato do site MLflow. |
ImportNotebookResult
Propriedade | Tipo | Descrição |
---|---|---|
|
| O caminho no site Databricks workspace para onde o Notebook deve ser importado. Esse deve ser um caminho absoluto. O diretório será criado se não existir. |
|
| O URI do artefato MLflow que contém o Notebook de teste. |