Databricks AutoML

Importante

Esta funcionalidade está em Pré-visualização Pública.

Databricks AutoML ajuda-o a aplicar automaticamente machine learning a um conjunto de dados. Prepara o conjunto de dados para a formação de modelos e, em seguida, executa e regista um conjunto de ensaios, criando, afinando e avaliando vários modelos. Apresenta os resultados e fornece um portátil Python com o código fonte para cada ensaio para que possa rever, reproduzir e modificar o código. O AutoML também calcula as estatísticas sumárias do seu conjunto de dados e guarda estas informações num caderno que pode rever mais tarde.

Cada modelo é construído a partir de componentes de código aberto, como scikit-learn e XGBoost, e pode ser facilmente editado e integrado nos seus oleodutos de aprendizagem automática.

Pode executar AutoML utilizando a UI ou a API Python.

Requisitos

  • Databricks Prazo de execução 8,3 ML ou superior.
  • Não podem ser instaladas outras bibliotecas que não as fornecidas com o tempo de execução de Tempo de Execução de Databricks ML no cluster.

AutoML UI

O AutoML UI o percorre através do processo de formação de um modelo num conjunto de dados. Para aceder à UI:

  1. Selecione Machine Learning a partir do comutador persona na parte superior da barra lateral esquerda.

  2. Na barra lateral, clique em Criar > AutoML.

    Também pode criar uma nova experiência AutoML a partir da página Experimentos.

    A página de experiência Configurar AutoML exibe. Nesta página, configura o processo AutoML, especificando o conjunto de dados, o tipo de problema, o alvo ou a coluna de etiqueta para prever, métrica para usar para avaliar e marcar as execuções da experiência, e condições de paragem.

  3. No campo Cluster, selecione um cluster que executa databricks Runtime 8.3 ML ou superior.

  4. A partir do menu de drop-down do tipo de problema ml, selecione Regressão ou Classificação. Se estiver a tentar prever um valor numérico contínuo para cada observação, como o rendimento anual, selecione a regressão. Se estiver a tentar atribuir cada observação a um conjunto discreto de classes, como risco de crédito bom ou risco de crédito, selecione a classificação.

  5. No Conjunto de Dados, clique em Tabelas de Navegação. Aparece um diálogo que lista as bases de dados e tabelas disponíveis. Navegue para a tabela que pretende utilizar e clique em Select. O esquema de mesa aparece.

  6. Clique no campo alvo de previsão. Aparece uma queda que lista as colunas mostradas no esquema. Selecione a coluna deseja que o modelo preveja.

  7. O campo de nomes experimento mostra o nome padrão. Para alterá-lo, digite o novo nome no campo.

  8. Pode especificar opções de configuração adicionais em configuração avançada (opcional).

    • A métrica de avaliação é a métrica primária usada para marcar as corridas.
    • Pode editar as condições de paragem predefinidos. Por padrão, a experiência para após 60 minutos ou quando completou 200 corridas, o que vier primeiro.
    • No campo do diretório de dados, pode introduzir um local DBFS onde são guardados os cadernos gerados durante o processo AutoML. Se deixar o campo em branco, os cadernos são guardados como artefactos MLflow.
  9. Clique em Iniciar AutoML. A experiência começa a ser executada, e a página de treino autoML aparece. Para refrescar a tabela de execuções, clique no  botão Refresh .

    Nesta página, pode:

    • Pare a experiência a qualquer momento.
    • Abra o caderno de exploração de dados
    • Monitor corre
    • Navegue para a página de execução para qualquer corrida

Quando a experiência terminar, pode:

  • Registe-se e implemente um dos modelos com MLflow.
  • Clique em Editar o melhor modelo para rever e editar o caderno que criou o melhor modelo.
  • Abra o caderno de exploração de dados.
  • Procure, filtre e serdene as corridas na tabela de corridas.
  • Consulte os detalhes para qualquer execução:
    • Para abrir o caderno que contém código fonte para um ensaio, clique na coluna Source
    • Para ver a página de execução com detalhes sobre um ensaio, clique na coluna Start Time
    • Para ver informações sobre o modelo que foi criado, incluindo código snippets para fazer previsões, clique na coluna Modelos

Para voltar a esta experiência AutoML mais tarde, encontre-a na tabela na página Experimentos.

Registar e implementar um modelo a partir do AutoML UI

  1. Clique no link na coluna Modelos para que o modelo se registe. Quando uma corrida termina, o melhor modelo (baseado na métrica primária) é a primeira linha.

    A secção de artefactos da página de execução para a execução que criou os ecrãs do modelo.

  2. Clique  no botão de modelo de registo para registar o modelo no Registo de Modelos.

  3. Clique  em Modelos De Ícones na barra lateral para navegar para o registo do modelo.

  4. Clique no nome do seu modelo na tabela de modelos. A página do modelo registada apresenta. A partir desta página, pode servir o modelo.

AutoML Python API

  1. Crie um caderno e prenda-o a um cluster que executa databricks Runtime 8.3 ML ou superior.

  2. Carregue um DataFrame de Faísca ou pandas a partir de uma fonte de dados existente ou carregue um ficheiro de dados para o DBFS e carregue os dados no caderno.

    df = spark.read.parquet("<folder-path>")
    
  3. Para iniciar uma execução AutoML, passe o DataFrame para AutoML. Consulte os documentos da API para mais detalhes.

  4. Quando a execução AutoML começa, aparece uma URL de experiência MLflow na consola. Utilize este URL para monitorizar o progresso da execução. Refresque a experiência MLflow para ver os ensaios à medida que estão concluídos.

  5. Após a execução autoML:

    • Utilize os links no resumo de saída para navegar para a experiência MLflow ou para o caderno que gerou os melhores resultados.
    • Utilize o link para o caderno de exploração de dados para obter algumas informações sobre os dados transmitidos para o AutoML. Também pode anexar este caderno ao mesmo cluster e reexame o caderno para reproduzir os resultados ou fazer análises adicionais de dados.
    • Utilize o objeto sumário devolvido da chamada AutoML para explorar mais detalhes sobre os ensaios ou para carregar um modelo treinado por um determinado ensaio. Consulte os documentos da API para mais detalhes.
    • Clone qualquer caderno gerado a partir dos ensaios e reexejo o caderno, fixando-o ao mesmo cluster para reproduzir os resultados. Também pode fazer edições necessárias e reencacandê-las para treinar modelos adicionais e registrá-los para a mesma experiência.

Especificação da API python

A API Python fornece funções para iniciar a classificação e regressão AutoML. Cada chamada de função treina um conjunto de modelos e gera um caderno experimental para cada modelo.

Classificação

databricks.automl.classify(
  dataset: Union[pyspark.DataFrame, pandas.DataFrame],
  *,
  target_col: str,
  primary_metric: Optional[str],
  data_dir: Optional[str],
  timeout_minutes: Optional[int],
  max_trials: Optional[int]
) -> AutoMLSummary

Regressão

databricks.automl.regress(
  dataset: Union[pyspark.DataFrame, pandas.DataFrame],
  *,
  target_col: str,
  primary_metric: Optional[str],
  data_dir: Optional[str],
  timeout_minutes: Optional[int],
  max_trials: Optional[int]
) -> AutoMLSummary

Parâmetros

Nome do Campo Tipo Description
conjunto de dados pyspark. Pandas DataFrame. DataFrame Input DataFrame que contém funcionalidades de treino e alvo.
primary_metric str Métrica usada para avaliar e classificar o desempenho do modelo. Métricas suportadas para regressão: "r2" (padrão), "mae", "rmse", "mse" Métricas suportadas para classificação: "f1" (padrão), "log_loss", "precisão", "precisão", "roc_auc"
target_col str Nome da coluna para a etiqueta do alvo.
data_dir str de formato
dbfs:/<folder-name>
Caminho DBFS usado para armazenar dados intermédios. Este caminho é visível tanto para os nós condutores como para os trabalhadores. Se estiver vazio, o AutoML guarda dados intermédios como artefactos MLflow.
timeout_minutes int Parâmetro opcional durante o tempo máximo para esperar que os testes de AutoML terminem. Se omitidos, escorrerá testes sem restrições de tempo (padrão). Lança uma exceção se o tempo limite de tempo passado for inferior a 5 minutos ou se o tempo limite não for suficiente para executar pelo menos 1 ensaio. Prazos mais longos permitem que a AutoML execute mais ensaios e forneça um modelo com maior precisão.
max_trials int Parâmetro opcional para o número máximo de ensaios a executar. O valor predefinido é de 20. Quando o tempo limite=Nenhum, o número máximo de ensaios será concluído.

Devoluções

AutoMLSummary

Objeto sumário para uma classificação AutoML que descreve as métricas, parâmetros e outros detalhes para cada um dos testes. Também usa este objeto para carregar o modelo treinado por um ensaio específico.

Propriedade Tipo Description
experiência mlflow.entities.Experiment A experiência mlflow usada para registar os testes.
ensaios Lista[TrialInfo] Uma lista contendo informações sobre todos os julgamentos que foram executados.
best_trial TrialInfo Informação sobre o julgamento que resultou na melhor pontuação ponderada para a métrica primária.
metric_distribution str A distribuição de pontuações ponderadas para a métrica primária em todos os testes.

TrialInfo

Objeto sumário para cada julgamento individual.

Propriedade Tipo Description
notebook_path str O caminho para o caderno gerado para este julgamento no espaço de trabalho.
notebook_url str A URL do caderno gerado para este julgamento.
mlflow_run_id str O MLflow executou iD associado a este ensaio.
metrics Dict[str, float] As métricas registadas no MLflow para este julgamento.
parâmetros Dict[str, str] Os parâmetros registados no MLflow que foram usados para este ensaio.
model_path str O URL de artefactos MLflow do modelo treinado neste ensaio.
model_description str Breve descrição do modelo e dos hiperparmetros utilizados para o treino deste modelo.
duration str Duração do treino em minutos.
pré-processodores str Descrição dos pré-processos executados antes de treinar o modelo.
evaluation_metric_score float Pontuação da métrica primária, avaliada para o conjunto de dados de validação.
Método Descrição
load_model() Carregue o modelo gerado neste ensaio, registado como um artefacto MLflow.

Exemplos de API

Reveja estes cadernos para começar com a AutoML.

Caderno de exemplo de classificação autoML

Obter o bloco de notas

Caderno de exemplo de regressão autoML

Obter o bloco de notas

Limitações conhecidas

  • Apenas a classificação e a regressão são apoiadas
  • Apenas os seguintes tipos de funcionalidades são suportados:
    • Numérico ByteType ShortType ( , , , , IntegerType LongType e FloatType DoubleType )
    • Booleano
    • Corda (apenas categórica)
    • Timetamps TimestampType (, DateType )
  • Os seguintes tipos de funcionalidades não são suportados:
    • Imagens
    • Texto
  • O treino autoML é feito num único nó; assim, o conjunto de dados de formação deve caber na memória de um único nó de trabalhador. Se tiver problemas de memória, tente usar um nó de trabalhador com mais memória. Ver Criar um cluster.