Referência da API Python do Mosaic AutoML
Este artigo descreve o Mosaic 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 ensina um conjunto de modelos e gera um Notebook de teste para cada modelo.
Para obter mais informações sobre o Mosaic AutoML, incluindo uma opção de UI de baixo código, consulte O que é o Mosaic AutoML?
Classificar
O método databricks.automl.classify
configura uma execução do Mosaic AutoML para ensinar um modelo de classificação.
Observaçã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>" ou "<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. default: |
|
|
Opcional. Nome do experimento MLflow que o AutoML cria. default: O nome é gerado automaticamente. |
|
|
Opcional. Lista de colunas a serem ignoradas durante os cálculos do AutoML. default: [] |
|
|
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". default: [] (todas as estruturas são consideradas) |
|
|
Opcional. Lista de dicionários que representam recurso do repositório de recursos para aumento de dados. As chaves válidas em cada dicionário são:
default: [] |
|
|
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 fazer a imputação 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. default: {} |
|
|
(Somente classificação) A classe positiva. Isso é útil para calcular métricas como precisão e recall. Deve ser especificado apenas 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 ensinar/validar/testar 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: "ensinar", "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 de amostra 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 de amostra e os pesos devem ser valores decimais ou inteiros não negativos, variando de 0 a 10.000. As classes com pesos de amostra mais altos são consideradas mais importantes e têm maior influência sobre o 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. default: 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. default: 120 minutos Valor mínimo: 5 minutos Um erro será 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 ensinar um modelo de regressão. Esse método retorna um AutoMLSummary.
Observaçã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.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>" ou "<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. default: |
|
|
Opcional. Nome do experimento MLflow que o AutoML cria. default: O nome é gerado automaticamente. |
|
|
Opcional. Lista de colunas a serem ignoradas durante os cálculos do AutoML. default: [] |
|
|
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". default: [] (todas as estruturas são consideradas) |
|
|
Opcional. Lista de dicionários que representam recurso do repositório de recursos para aumento de dados. As chaves válidas em cada dicionário são:
default: [] |
|
|
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 fazer a imputação 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. default: {} |
|
|
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 ensinar/validar/testar 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: "ensinar", "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. As linhas com pesos de amostra mais altos são consideradas mais importantes e têm maior influência sobre o 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. default: 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. default: 120 minutos Valor mínimo: 5 minutos Um erro será 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. AutoML lida com os passos 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 os feriados do país que o modelo de previsão deve usar. Para ignorar os feriados, defina esse parâmetro como uma cadeia de caracteres vazia (""). default: US (feriados nos Estados Unidos). |
|
|
Frequência da série temporal para previsão. Esse é o período em que se espera que os eventos ocorram. A configuração do site default é "D" ou dados diários. Não se esqueça de alterar a configuração se seus dados tiverem uma frequência diferente. Valores possíveis: "W" (semanas) "D" / "days" / "day" "hours" / "hour" / "hr" / "h" "m" / "minute" / "min" / "minutes" / "T" "S" / "seconds" / "sec" / "second" O seguinte está disponível apenas com Databricks Runtime 12.0 MLe acima: "M" / "month" / "months" "Q" / "quarter" / "quarters" "Y" / "year" / "years" default: "D" |
|
|
Número de períodos no futuro para os quais as previsões devem ser retornadas. As unidades são a frequência da série temporal. default: 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. default: |
|
|
Opcional. Nome do experimento MLflow que o AutoML cria. default: 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 "prophet", "arima". default: [] (todas as estruturas são consideradas) |
|
|
Opcional. Lista de dicionários que representam recurso do repositório de recursos para aumento de dados covariados. As chaves válidas em cada dicionário são:
default: [] |
|
|
Opcional. Coluna(s) que identifica(m) 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. default: 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. default: 120 minutos Valor mínimo: 5 minutos Um erro será relatado se o tempo limite for muito curto para permitir a conclusão de pelo menos uma tentativa. |
Importação Notebook
O método databricks.automl.import_notebook
importa um Notebook que foi salvo como um artefato 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 a tentativa Notebook. |
|
|
O caminho em Databricks workspace onde o Notebook deve ser importado. Esse deve ser um caminho absoluto. O diretório será criado se não existir. |
|
|
Se o senhor deve substituir o site Notebook caso ele já exista. É |
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. O senhor também usa esse objeto para carregar o modelo treinado por uma tentativa específica.
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 o output_database for fornecido. Nome da tabela no output_database que contém as previsões do modelo. |
TrialInfo
Objeto de resumo para cada teste individual.
Propriedade |
Tipo |
Descrição |
---|---|---|
|
|
O caminho para o site Notebook gerado para esse teste no site workspace. Para classificação e regressão, esse valor é definido apenas para a melhor tentativa, enquanto todas as outras tentativas têm o valor definido como Para previsão, esse valor está presente em todas as tentativas. |
|
|
O URL do site Notebook gerado para esse teste. Para classificação e regressão, esse valor é definido apenas para a melhor tentativa, enquanto todas as outras tentativas têm o valor definido como Para previsão, esse valor está presente em todas as tentativas. |
|
|
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. |