

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie trabalhos de regressão ou classificação para dados tabulares com a API do AutoML
<a name="autopilot-automate-model-development-create-experiment"></a>

É possível criar um trabalho de regressão ou classificação do Autopilot para dados tabulares de forma programática chamando a ação [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) da API em qualquer linguagem compatível com o Autopilot ou a AWS CLI. Veja a seguir uma coleção de parâmetros de solicitação de entrada obrigatórios e opcionais para a ação da `CreateAutoMLJobV2` API. É possível encontrar as informações alternativas para a versão anterior dessa ação, `CreateAutoMLJob`. No entanto, recomendamos usar `CreateAutoMLJobV2`. 

Para obter informações sobre como essa ação da API se traduz em uma função no idioma de sua escolha, consulte a seção [Consulte também](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) de `CreateAutoMLJobV2` e escolha um SDK. Como exemplo, para usuários do Python, veja a sintaxe completa da solicitação de `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` em AWS SDK para Python (Boto3).

**nota**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) e [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) são novas versões [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)e [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)oferecem compatibilidade com versões anteriores.  
Recomendamos usar `CreateAutoMLJobV2`. O `CreateAutoMLJobV2` pode gerenciar tipos de problemas tabulares idênticos aos da versão anterior `CreateAutoMLJob`, bem como tipos de problemas não tabulares, como classificação de imagens, textos ou previsão de séries temporais.

No mínimo, todos os experimentos com dados tabulares exigem a especificação do nome do experimento, fornecendo locais para os dados de entrada e saída e especificando quais dados-alvo prever. Opcionalmente, você também pode especificar o tipo de problema que deseja resolver (regressão, classificação, classificação multiclasse), escolha a estratégia de modelagem (*conjuntos empilhados* ou *otimização de hiperparâmetros*), selecione a lista de algoritmos usados pelo trabalho do Autopilot para treinar os dados e muito mais. 

 Depois de executado o experimento, você pode comparar os testes e se aprofundar nos detalhes das etapas de pré-processamento, dos algoritmos e dos intervalos de hiperparâmetros de cada modelo. Você também tem a opção de baixar seus relatórios de [explicabilidade](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html) e [desempenho](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html). Use os [cadernos](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html ) fornecidos para ver os resultados da exploração automatizada de dados ou as definições do modelo candidato.

Encontre diretrizes sobre como migrar um `CreateAutoMLJob` para `CreateAutoMLJobV2` em [Migrar a CreateAuto MLJob para CreateAuto MLJob a V2](#autopilot-create-experiment-api-migrate-v1-v2).

## Parâmetros necessários
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

Ao chamar `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` para criar um experimento do Autopilot para dados tabulares, você deve fornecer os seguintes valores:
+ Um `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` para especificar o nome do seu trabalho.
+ Pelo menos uma `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` em `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` para especificar sua fonte de dados.
+ Tanto uma métrica `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` quanto o tipo escolhido de problema de aprendizado supervisionado (classificação binária, classificação multiclasse, regressão) em `AutoMLProblemTypeConfig`, ou nenhum. Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`. Você define o problema de aprendizado supervisionado no atributo `ProblemType` de `TabularJobConfig`.
+ Um `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar o caminho de saída do Amazon S3 para armazenar os artefatos do seu trabalho do AutoML.
+ Um `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar o ARN do perfil usada para acessar seus dados.

------
#### [ CreateAutoMLJob ]

Ao chamar `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` para criar um experimento do AutoML, você deve fornecer os quatro valores a seguir.
+ Um `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)` para especificar o nome do seu trabalho.
+ Pelo menos uma `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)` em `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` para especificar sua fonte de dados.
+ Um `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` para especificar o caminho de saída do Amazon S3 para armazenar os artefatos do seu trabalho do AutoML.
+ Um `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` para especificar o ARN do perfil usada para acessar seus dados.

------

Todos os outros parâmetros são opcionais.

## Parâmetros opcionais
<a name="autopilot-create-experiment-api-optional-params"></a>

As seções a seguir fornecem detalhes de alguns parâmetros opcionais que você pode passar para sua ação de `CreateAutoMLJobV2` API ao usar dados tabulares. É possível encontrar as informações alternativas para a versão anterior dessa ação, `CreateAutoMLJob`. No entanto, recomendamos usar `CreateAutoMLJobV2`.

### Como definir o modo de treinamento de um trabalho do AutoML
<a name="autopilot-set-training-mode"></a>

Para dados tabulares, o conjunto de algoritmos executados em seus dados para treinar seus candidatos a modelo depende de sua estratégia de modelagem (`ENSEMBLING` ou `HYPERPARAMETER_TUNING`). O seguinte detalha como configurar esse modo de treinamento:

Se você mantiver em branco (ou`null`), `Mode` isso será inferido com base no tamanho do seu conjunto de dados.

Para obter informações sobre os *conjuntos empilhados e os métodos de treinamento de otimização* de *hiperparâmetros* do Autopilot, consulte [Modos de treinamento e compatibilidade com algoritmos](autopilot-model-support-validation.md)

------
#### [ CreateAutoMLJobV2 ]

Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

É possível definir o [método de treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) de uma tarefa AutoML V2 com o parâmetro `[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

É possível definir o [método de treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) de uma tarefa do AutoML com o `[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)` parâmetro.

------

### Como selecionar atributos e algoritmos para treinar um trabalho do AutoML
<a name="autopilot-feature-selection"></a>

#### Seleção de atributos
<a name="autopilot-automl-job-feature-selection-api"></a>

O Autopilot fornece etapas automáticas de pré-processamento de dados, incluindo seleção e extração de atributos. No entanto, você pode fornecer manualmente os atributos a serem usados no treinamento com o `FeatureSpecificatioS3Uri` atributo.

Os atributos selecionados devem estar contidos em um arquivo JSON no seguinte formato:

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

Os valores listados `["col1", "col2", ...]` diferenciam letras maiúsculas de minúsculas. Eles devem ser uma lista de cadeias de caracteres contendo valores exclusivos que são subconjuntos dos nomes das colunas nos dados de entrada.

**nota**  
A lista de colunas fornecida como atributos não pode incluir a coluna de destino.

------
#### [ CreateAutoMLJobV2 ]

Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

É possível definir o URL para os atributos selecionados com o `[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` parâmetro.

------
#### [ CreateAutoMLJob ]

Você pode definir o `FeatureSpecificatioS3Uri` atributo de [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) na [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)API com o seguinte formato:

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### Seleção de algoritmos
<a name="autopilot-automl-job-algorithms-selection-api"></a>

Por padrão, seu trabalho do Autopilot executa uma lista predefinida de algoritmos em seu conjunto de dados para treinar candidatos a modelos. A lista de algoritmos depende do modo de treinamento (`ENSEMBLING` ou `HYPERPARAMETER_TUNING`) usado pelo trabalho.

É possível fornecer um subconjunto da seleção padrão de algoritmos.

------
#### [ CreateAutoMLJobV2 ]

Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Você pode especificar uma matriz de selecionados `AutoMLAlgorithms` no `AlgorithmsConfig` atributo de [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html).

Veja a seguir um exemplo de um `AlgorithmsConfig` atributo listando exatamente três algoritmos (“XGBoost”, “fastai”, “catboost”) em seu `AutoMLAlgorithms` campo para o modo de treinamento em agrupamento.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

Você pode especificar uma matriz de selecionados `AutoMLAlgorithms` no `AlgorithmsConfig` atributo de [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html).

Veja a seguir um exemplo de um `AlgorithmsConfig` atributo listando exatamente três algoritmos (“XGBoost”, “fastai”, “catboost”) em seu `AutoMLAlgorithms` campo para o modo de treinamento em agrupamento.

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

Para ver a lista de algoritmos disponíveis por treinamento`Mode`, consulte [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms). Para obter detalhes sobre cada algoritmo, consulte [Modos de treinamento e compatibilidade com algoritmos](autopilot-model-support-validation.md).

### Como especificar os conjuntos de dados de treinamento e validação de um trabalho do AutoML
<a name="autopilot-data-sources-training-or-validation"></a>

Você pode fornecer seu próprio conjunto de dados da validação e taxa de divisão de dados personalizada, ou deixar o Autopilot dividir o conjunto de dados automaticamente.

------
#### [ CreateAutoMLJobV2 ]

Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)objeto (consulte o parâmetro obrigatório [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) tem um`ChannelType`, que pode ser definido como um `training` ou `validation` valores que especificam como os dados devem ser usados ao criar um modelo de aprendizado de máquina. Pelo menos uma fonte de dados deve ser fornecida e no máximo duas fontes de dados são permitidas: uma para dados de treinamento e outra para dados de validação.

A forma como você divide os dados em conjuntos de dados de treinamento e validação depende de você ter uma ou duas fontes de dados.
+ Se você tiver apenas **uma fonte de dados**, a será `ChannelType` definida como `training` padrão e deverá ter esse valor.
  + Se o valor `ValidationFraction` em [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) não estiver definido, 0,2 (20%) dos dados dessa fonte serão usados para a validação por padrão. 
  + Se `ValidationFraction` for definido como um valor entre 0 e 1, o conjunto de dados será dividido com base no valor especificado, em que o valor especifica a fração do conjunto de dados usada para validação.
+ Se você tiver **duas fontes de dados**, a `ChannelType` de um dos objetos `AutoMLJobChannel` deverá ser definida como `training`, o valor padrão. A `ChannelType` da outra fonte de dados deve ser definida como `validation`. As duas fontes de dados devem ter o mesmo formato, CSV ou Parquet, e o mesmo esquema. Nesse caso, você não deve definir o valor para o `ValidationFraction` porque todos os dados de cada fonte são usados para treinamento ou validação. Definir esse valor causa um erro.

------
#### [ CreateAutoMLJob ]

Cada [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)objeto (consulte o parâmetro obrigatório [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)) tem um`ChannelType`, que pode ser definido como um `training` ou `validation` valores que especificam como os dados devem ser usados ao criar um modelo de aprendizado de máquina. Pelo menos uma fonte de dados deve ser fornecida e no máximo duas fontes de dados são permitidas: uma para dados de treinamento e outra para dados de validação.

A forma como você divide os dados em conjuntos de dados de treinamento e validação depende de você ter uma ou duas fontes de dados.
+ Se você tiver apenas **uma fonte de dados**, a será `ChannelType` definida como `training` padrão e deverá ter esse valor.
  + Se o valor `ValidationFraction` em [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) não estiver definido, 0,2 (20%) dos dados dessa fonte serão usados para a validação por padrão. 
  + Se `ValidationFraction` for definido como um valor entre 0 e 1, o conjunto de dados será dividido com base no valor especificado, em que o valor especifica a fração do conjunto de dados usada para validação.
+ Se você tiver **duas fontes de dados**, a `ChannelType` de um dos objetos `AutoMLChannel` deverá ser definida como `training`, o valor padrão. A `ChannelType` da outra fonte de dados deve ser definida como `validation`. As duas fontes de dados devem ter o mesmo formato, CSV ou Parquet, e o mesmo esquema. Nesse caso, você não deve definir o valor para o `ValidationFraction` porque todos os dados de cada fonte são usados para treinamento ou validação. Definir esse valor causa um erro.

------

Para obter informações sobre divisão e validação cruzada no Autopilot, consulte [Validação cruzada no Autopilot](autopilot-metrics-validation.md#autopilot-cross-validation).

### Como definir o tipo de problema de uma tarefa do AutoML
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

É possível especificar ainda mais o tipo de problema de aprendizado supervisionado (classificação binária, classificação multiclasse, regressão) disponível para os candidatos a modelo de sua tarefa AutoML V2 com o parâmetro `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`.

------
#### [ CreateAutoMLJob ]

É possível definir o [tipo de problema](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) em um trabalho do AutoML com o parâmetro `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`. Isso limita o tipo de pré-processamento e algoritmos que o Autopilot testa. Depois que o trabalho estiver concluído, se você tiver definido o `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`, o `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` corresponde ao `ProblemType` definido. Se você deixar em branco (ou `null`), isso `ProblemType` será inferido em seu nome. 

------

**nota**  
Em alguns casos, o Autopilot não consegue inferir o `ProblemType` com confiança alta o suficiente, caso em que é necessário fornecer o valor para o trabalho ter êxito.

### Como adicionar pesos de amostra a uma tarefa do AutoML
<a name="autopilot-add-sample-weights-api"></a>

É possível adicionar uma coluna de pesos de amostra ao seu conjunto de dados tabular e depois passá-la para sua tarefa do AutoML para solicitar que as linhas do conjunto de dados sejam ponderadas durante o treinamento e a avaliação.

O compatibilidade com pesos de amostra está disponível somente no [modo de agrupamento.](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) Seus pesos devem ser numéricos e não negativos. Os pontos de dados com valor de peso inválido ou sem valor são excluídos. Para obter mais informações sobre as métricas objetivas disponíveis, consulte [Métricas ponderadas do Autopilot](autopilot-metrics-validation.md#autopilot-weighted-metrics).

------
#### [ CreateAutoMLJobV2 ]

Para dados tabulares, você deve escolher `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` como o tipo de `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

Para definir pesos amostrais ao criar um experimento (consulte [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)), você pode passar o nome da coluna de pesos amostrais no `SampleWeightAttributeName` atributo do objeto. `TabularJobConfig` Isso garante que sua métrica objetiva use os pesos para o treinamento, avaliação e seleção de candidatos a modelos.

------
#### [ CreateAutoMLJob ]

Para definir pesos amostrais ao criar um experimento (consulte [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)), você pode passar o nome da coluna de pesos amostrais no `SampleWeightAttributeName` atributo do objeto [MLChannelAuto](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html). Isso garante que sua métrica objetiva use os pesos para o treinamento, avaliação e seleção de candidatos a modelos.

------

### Como configurar o AutoML para iniciar um trabalho remoto no EMR Sem Servidor para grandes conjuntos de dados
<a name="autopilot-set-emr-serverless-api-tabular"></a>

Você pode configurar o seu trabalho AutoML V2 para iniciar automaticamente um trabalho remoto no Amazon EMR Sem Servidor quando recursos computacionais adicionais forem necessários para processar grandes conjuntos de dados. Ao fazer a transição perfeita para o EMR Sem Servidor quando necessário, o trabalho do AutoML pode lidar com conjuntos de dados que, de outra forma, excederiam os recursos inicialmente provisionados, sem nenhuma intervenção manual de sua parte. O EMR Sem Servidor está disponível para os tipos de problemas tabulares e de séries temporais. Recomendamos configurar essa opção para conjuntos de dados tabulares maiores que 5 GB.

Para permitir que o seu trabalho de AutoML V2 faça a transição automática para o EMR Sem Servidor de um grande conjunto de dados, você precisa fornecer um objeto `EmrServerlessComputeConfig`, que inclua um campo `ExecutionRoleARN`, para a `AutoMLComputeConfig` da solicitação de entrada do trabalho de AutoML V2.

Esse `ExecutionRoleARN` é o ARN do perfil do IAM que concede ao trabalho de AutoML V2 as permissões necessárias para executar trabalhos do EMR Sem Servidor.

Esse perfil deve ter a seguinte relação de confiança:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

E conceder as permissões para:
+ Criar, listar e atualizar aplicações do EMR Sem Servidor.
+ Iniciar, listar, obter ou cancelar execuções de trabalhos em uma aplicação do EMR Sem Servidor.
+ Marcar os recursos do EMR Sem Servidor.
+ Passar um perfil do IAM para o serviço do EMR Sem Servidor para execução.

  Ao conceder a permissão `iam:PassRole`, o trabalho de AutoML V2 pode assumir temporariamente o perfil `EMRServerlessRuntimeRole-*` e passá-lo para o serviço EMR Sem Servidor. Essas são as funções do IAM usadas pelos ambientes de execução de tarefas do EMR Serverless para acessar outros AWS serviços e recursos necessários durante o tempo de execução, como o Amazon S3 para acesso a dados, registro em log, CloudWatch acesso ao catálogo de dados ou outros serviços com base em AWS Glue seus requisitos de carga de trabalho.

  Consulte [Perfis de runtime do trabalho para o Amazon EMR Sem Servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) para obter detalhes sobre as permissões deste perfil.

A política do IAM definida no documento JSON fornecido concede essas permissões:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## Migrar a CreateAuto MLJob para CreateAuto MLJob a V2
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

Recomendamos que os usuários do `CreateAutoMLJob` migrem para o `CreateAutoMLJobV2`.

Esta seção explica as diferenças nos parâmetros de entrada entre [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax)e [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) destacando as mudanças na posição, nome ou estrutura dos objetos e atributos da solicitação de entrada entre as duas versões.
+ **Atributos de solicitação que não foram alterados entre as versões.**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **Atributos de solicitação que mudaram de posição e estrutura entre as versões.**

  Os seguintes atributos mudaram de posição: `DataSplitConfig`, `Security Config`, `CompletionCriteria`, `Mode`, `FeatureSpecificationS3Uri`, `SampleWeightAttributeName`, `TargetAttributeName`.

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **Os atributos a seguir mudaram de posição e estrutura entre as versões.**

  O JSON a seguir ilustra como o Auto [ConfigMLJob. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)do tipo [Auto MLCandidate GenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) movido para [Auto MLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)do tipo [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)em V2.

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **Atributos de solicitação que mudaram o nome e a estrutura.**

  O JSON a seguir ilustra como [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)(Uma matriz de [Auto MLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)) mudou para [Automático MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) (Uma matriz de [MLJobcanal automático](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)) na V2. Observe os atributos `SampleWeightAttributeName` e `TargetAttributeName` vá para fora `InputDataConfig` e para dentro `AutoMLProblemTypeConfig`.

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Conjuntos de dados do Autopilot e tipos de problemas
<a name="autopilot-datasets-problem-types"></a>

Para dados tabulares (ou seja, dados nos quais cada coluna contém um atributo com um tipo de dados específico e cada linha contém uma observação), o Autopilot oferece a opção de especificar o tipo de problema de aprendizado supervisionado disponível para os candidatos a modelo do trabalho do AutoML, como classificação binária ou regressão, ou de detectá-lo em seu nome com base nos dados fornecidos. O Autopilot também oferece apoio a vários formatos e tipos de dados.

**Topics**
+ [Conjuntos de dados, tipos e formatos de dados do Autopilot](#autopilot-datasets)
+ [Tipos de problemas do Autopilot](#autopilot-problem-types)

## Conjuntos de dados, tipos e formatos de dados do Autopilot
<a name="autopilot-datasets"></a>

O Autopilot é compatível com dados tabulares formatados como arquivos CSV ou como arquivos Parquet: cada coluna contém um atributo com um tipo de dados específico e cada linha contém uma observação. As propriedades desses dois formatos de arquivo diferem consideravelmente.
+ **CSV** (comma-separated-values) é um formato de arquivo baseado em linhas que armazena dados em texto simples legível por humanos, o que é uma escolha popular para troca de dados, pois são suportados por uma ampla variedade de aplicativos.
+ O **Parquet** é um formato de arquivo baseado em colunas em que os dados são armazenados e processados com mais eficiência do que os formatos de arquivo baseados em linhas. Isso os torna uma opção melhor para problemas de big data.

**Os tipos de dados** aceitos para colunas incluem séries numéricas, categóricas, de texto e temporais que consistem em sequências de números separados por vírgula. Se o Autopilot detectar que está lidando com sequências de **séries temporais**, ele as processa por meio de transformadores de atributos especializados fornecidos pela biblioteca [tsfresh](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html). Essa biblioteca usa a série temporal como entrada e gera um atributo, como o maior valor absoluto da série temporal ou estatísticas descritivas sobre autocorrelação. Esses atributos de saída são então usados como entradas para um dos três tipos de problemas.

O piloto automático oferece suporte à criação de modelos de aprendizado de máquina em grandes conjuntos de dados de até centenas de. GBs Para obter detalhes sobre os limites de recursos padrão para conjuntos de dados de entrada e como aumentá-los, consulte [Cotas do Autopilot](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html).

## Tipos de problemas do Autopilot
<a name="autopilot-problem-types"></a>

Para os dados tabulares, você especifica ainda mais o tipo de problemas de aprendizado supervisionado disponíveis para os candidatos ao modelo da seguinte forma:

### Regressão
<a name="autopilot-automate-model-development-problem-types-regression"></a>

A regressão estima os valores de uma variável de destino dependente com base em uma ou mais outras variáveis ou atributos correlacionados com ela. Um exemplo é a predição dos preços das casas usando atributos como o número de banheiros e quartos, metragem quadrada da casa e jardim. A análise de regressão pode criar um modelo que considera um ou mais desses atributos como uma entrada e prevê o preço de uma casa.

### Classificação binária
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

A classificação binária é um tipo de aprendizado supervisionado que atribui um indivíduo a uma das duas classes predefinidas e mutuamente exclusivas com base em seus atributos. Ela é supervisionada porque os modelos são treinados usando exemplos em que os atributos são fornecidos com objetos rotulados corretamente. Um diagnóstico médico para saber se um indivíduo tem uma doença ou não com base nos resultados de testes diagnósticos é um exemplo de classificação binária.

### Classificação multiclasse
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

A classificação multiclasse é um tipo de aprendizado supervisionado que atribui um indivíduo a uma das várias classes com base em seus atributos. Ela é supervisionada porque os modelos são treinados usando exemplos em que os atributos são fornecidos com objetos rotulados corretamente. Um exemplo é a predição do tópico mais relevante para um documento de texto. Um documento pode ser classificado como sendo sobre, digamos, religião, política ou finanças, ou sobre uma de várias outras classes temáticas predefinidas.

# Modos de treinamento e compatibilidade com algoritmos
<a name="autopilot-model-support-validation"></a>

O Autopilot oferece apoio a diferentes modos de treinamento e algoritmos para resolver problemas de machine learning, gerar relatórios sobre métricas objetivas e de qualidade e usar a validação cruzada automaticamente, quando necessário.

## Modos de treinamento
<a name="autopilot-training-mode"></a>

SageMaker O piloto automático pode selecionar automaticamente o método de treinamento com base no tamanho do conjunto de dados, ou você pode selecioná-lo manualmente. As opções são as seguintes:
+ **Ensembling** — O piloto automático usa a [AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html)biblioteca para treinar vários modelos básicos. Para encontrar a melhor combinação para seu conjunto de dados, o modo ensemble executa 10 ensaios com diferentes configurações de modelo e meta-parâmetros. Em seguida, o Autopilot combina esses modelos usando um método de conjunto de empilhamento para criar um modelo preditivo ideal. **Para obter uma lista de algoritmos que o Autopilot suporta no modo de agrupamento para dados tabulares, consulte a seção de compatibilidade com algoritmos a seguir.**
+ **Otimização de hiperparâmetros (HPO)**: O Autopilot encontra a melhor versão de um modelo ajustando hiperparâmetros usando otimização bayesiana ou otimização multifidelidade enquanto executa trabalhos de treinamento em seu conjunto de dados. O modo HPO seleciona os algoritmos mais relevantes para seu conjunto de dados e seleciona a melhor variedade de hiperparâmetros para ajustar seus modelos. Para ajustar seus modelos, o modo HPO executa até 100 testes (padrão) para encontrar as configurações ideais de hiperparâmetros dentro da faixa selecionada. Se o tamanho do conjunto de dados for menor que 100 MB, o Autopilot usa a otimização bayesiana. O Autopilot escolhe a otimização de multifidelidade se seu conjunto de dados for maior que 100 MB.

  Na otimização de multifidelidade, as métricas são emitidas continuamente dos contêineres de treinamento. Um teste com baixo desempenho em relação a uma métrica objetiva selecionada é interrompido precocemente. Um teste com bom desempenho recebe mais recursos. 

  Para obter uma lista de algoritmos compatíveis com o Autopilot no modo HPO, consulte a seção de **compatibilidade com algoritmos** a seguir. 
+ **Automático**: O Autopilot escolhe automaticamente o modo de agrupamento ou o modo HPO com base no tamanho do seu conjunto de dados. Se seu conjunto de dados for maior que 100 MB, o Autopilot escolherá o HPO. Caso contrário, ele escolhe o modo de agrupamento. O Autopilot pode falhar ao ler o tamanho do seu conjunto de dados nos seguintes casos:
  + Se você ativar o modo nuvem privada virtual (VPC), para uma tarefa do AutoML, mas o bucket do S3 contendo o conjunto de dados só permitirá o acesso da VPC.
  + A entrada [S3 DataType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType) do seu conjunto de dados é uma. `ManifestFile`
  + A entrada [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri) contém mais de 1000 itens.

  Se o Autopilot não conseguir ler o tamanho do seu conjunto de dados, o padrão é escolher o modo HPO.

**nota**  
Para otimizar o runtime e o desempenho, use o modo de treinamento em conjunto para conjuntos de dados menores que 100 MB.

## Compatibilidade com algoritmos
<a name="autopilot-algorithm-support"></a>

No **modo HPO**, o Autopilot oferece apoio aos seguintes tipos de algoritmos de machine learning:
+  [Aluno linear](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html): Um algoritmo de aprendizado supervisionado que pode resolver problemas de classificação ou regressão.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Um algoritmo de aprendizado supervisionado que tenta prever com precisão uma variável alvo combinando um conjunto de estimativas de um conjunto de modelos mais simples e mais fracos.
+ Algoritmo de aprendizado profundo: Um perceptron multicamada (MLP) e uma rede neural artificial de feedback. Esse algoritmo pode lidar com dados que não são linearmente separáveis.

**nota**  
Você não precisa especificar um algoritmo a ser usado em seu problema de machine learning. O Autopilot seleciona automaticamente o algoritmo apropriado para treinar. 

No **modo de agrupamento**, o Autopilot oferece apoio aos seguintes tipos de algoritmos de machine learning:
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html): Uma estrutura otimizada que usa algoritmos baseados em árvore com aumento de gradiente. Esse algoritmo usa árvores que crescem em largura, em vez de profundidade, e é altamente otimizado para velocidade.
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— Uma estrutura que usa algoritmos baseados em árvore com aumento de gradiente. Otimizado para lidar com variáveis categóricas.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Uma estrutura que usa algoritmos baseados em árvore com aumento de gradiente que cresce em profundidade, em vez de amplitude. 
+ [Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html): Um algoritmo baseado em árvore que usa várias árvores de decisão em subamostras aleatórias dos dados com substituição. As árvores são divididas em nós ideais em cada nível. As decisões de cada árvore são calculadas em conjunto para evitar ajustes excessivos e melhorar as predições.
+ [Árvores extras](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier): Um algoritmo baseado em árvore que usa várias árvores de decisão em todo o conjunto de dados. As árvores são divididas aleatoriamente em cada nível. As decisões de cada árvore são calculadas para evitar ajustes excessivos e melhorar as predições. Árvores extras adicionam um grau de randomização em comparação com o algoritmo de floresta aleatória.
+ [Modelos lineares](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model): Uma estrutura que usa uma equação linear para modelar a relação entre duas variáveis nos dados observados.
+ Tocha de rede neural: Um modelo de rede neural implementado usando [PyTorch](https://pytorch.org/).
+ Rede neural fast.ai: Um modelo de rede neural implementado usando [fast.ai](https://www.fast.ai/).

# Métricas e validação
<a name="autopilot-metrics-validation"></a>

Este guia mostra métricas e técnicas de validação que você pode usar para medir o desempenho de modelos de machine learning. O Amazon SageMaker Autopilot produz métricas que medem a qualidade preditiva dos candidatos ao modelo de aprendizado de máquina. As métricas calculadas para candidatos são especificadas usando uma variedade de [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html)tipos.

## Métricas do Autopilot
<a name="autopilot-metrics"></a>

A lista a seguir contém os nomes das métricas atualmente disponíveis para medir o desempenho de modelos no Autopilot.

**nota**  
O Autopilot oferece apoio para pesos de amostra. Para saber mais sobre pesos de amostra e as métricas objetivas disponíveis, consulte [Métricas ponderadas do Autopilot](#autopilot-weighted-metrics).

As métricas a seguir estão disponíveis.

**`Accuracy`**  
 A razão entre o número de itens classificados corretamente e o número total de itens classificados (correta e incorretamente). É usado para classificação binária e multiclasse. A precisão mede o quão próximos estão os valores de classe previstos dos valores reais. Os valores das métricas de precisão variam entre zero (0) e um (1). Um valor de 1 indica precisão perfeita e 0 indica imprecisão perfeita.

**`AUC`**  
 A métrica de área sob a curva (AUC) é usada para comparar e avaliar a classificação binária por algoritmos que retornam probabilidades, como regressão logística. Para mapear as probabilidades em classificações, elas são comparadas com um valor limite.   
A curva relevante é a curva característica de operação do receptor. A curva traça a taxa de positivos verdadeiros (TPR) das predições (ou recall) em relação à taxa de falsos-positivos (FPR) em função do valor limite, acima do qual uma predição é considerada positiva. O aumento do limite resulta em menos falsos-positivos, mas em mais falsos-negativos.   
A AUC é a área sob essa curva característica de operação do receptor. Portanto, a AUC fornece uma medida agregada do desempenho de modelos em todos os limites de classificação possíveis. As pontuações AUC variam entre 0 e 1. Uma pontuação de 1 indica precisão perfeita, e uma pontuação de metade (0,5) indica que a predição não é melhor do que um classificador aleatório. 

**`BalancedAccuracy`**  
`BalancedAccuracy` é uma métrica que mede a razão entre as predições precisas e todas as predições. Essa razão é calculada após a normalização de positivos verdadeiros (TP) e negativos verdadeiros (TN) pelo número total de valores positivos (P) e negativos (N). É usado na classificação binária e multiclasse e é definido da seguinte forma: 0,5\$1 ((TP/P)\$1(TN/N)), com valores que variam de 0 a 1. `BalancedAccuracy`fornece uma melhor medida de precisão quando o número de positivos ou negativos difere muito um do outro em um conjunto de dados desequilibrado, como quando apenas 1% dos e-mails são spam. 

**`F1`**  
A pontuação `F1` é a média harmônica da precisão e do recall, definida da seguinte forma: F1 = 2 \$1 (precisão \$1 recall)/(precisão \$1 recall). Ela é usada para classificação binária em classes tradicionalmente chamadas de positivas e negativas. Diz-se que as predições são verdadeiras quando correspondem à classe real (correta) e falsas quando não correspondem.   
A precisão é a razão entre as predições positivas verdadeiras e todas as predições positivas e inclui os falsos positivos em um conjunto de dados. A precisão mede a qualidade da predição ao prever a classe positiva.   
Recall (ou sensibilidade) é a razão entre as predições positivas verdadeiras e todas as instâncias positivas reais. O recall mede o quão completamente um modelo prevê os membros de classe reais em um conjunto de dados.   
As pontuações F1 variam entre 0 e 1. Uma pontuação de 1 indica a melhor performance possível, e 0 indica a pior.

**`F1macro`**  
A pontuação `F1macro` aplica a pontuação F1 a problemas de classificação multiclasse. Ela faz isso calculando a precisão e o recall e, em seguida, calculando a média harmônica para calcular a pontuação F1 para cada classe. Por fim, `F1macro` calcula a média das pontuações individuais para obter a pontuação `F1macro`. As pontuações `F1macro` variam entre 0 e 1. Uma pontuação de 1 indica a melhor performance possível, e 0 indica a pior.

**`InferenceLatency`**  
A latência de inferência é o tempo aproximado entre fazer uma solicitação de predição de modelo e recebê-la de um endpoint em tempo real no qual o modelo é implantado. Essa métrica é medida em segundos e está disponível somente no modo de agrupamento.

**`LogLoss`**  
A perda de log, também conhecida como perda de entropia cruzada, é uma métrica usada para avaliar a qualidade das saídas de probabilidade, em vez das saídas em si. Ela é usada para classificação binária e multiclasse e em redes neurais. É também a função de custo da regressão logística. A perda de log é uma métrica importante para indicar quando um modelo faz predições incorretas com altas probabilidades. Os valores variam de 0 a infinito. Um valor de 0 representa um modelo que prevê perfeitamente os dados.

**`MAE`**  
O erro absoluto médio (MAE) é uma medida de quão diferentes são os valores previstos e reais, quando se calcula a média de todos os valores. O MAE é comumente usado na análise de regressão para entender o erro de predição de modelo. Se houver regressão linear, o MAE representa a distância média de uma linha prevista até o valor real. O MAE é definido como a soma dos erros absolutos dividida pelo número de observações. Os valores variam de 0 a infinito, com números menores indicando um melhor ajuste do modelo aos dados.

**`MSE`**  
O erro quadrático médio (MSE) é a média das diferenças ao quadrado entre os valores previstos e reais. Ele é usado para regressão. Os valores do MSE são sempre positivos. Quanto melhor for o modelo em prever os valores reais, menor será o valor do MSE.

**`Precision`**  
A precisão mede o quão bem um algoritmo prevê os positivos verdadeiros (TP) de todos os positivos que ele identifica. Ela é definida da seguinte forma: Precisão = TP/ (TP\$1FP), com valores que variam de zero (0) a um (1), e é usada na classificação binária. A precisão é uma métrica importante quando o custo de um falso-positivo é alto. Por exemplo, o custo de um falso-positivo é muito alto se o sistema de segurança de um avião for considerado falsamente seguro para voar. Um falso-positivo (FP) reflete uma predição positiva que, na verdade, é negativa nos dados.

**`PrecisionMacro`**  
A macro de precisão calcula a precisão para problemas de classificação multiclasse. Ela faz isso calculando a precisão para cada classe e calculando a média das pontuações para obter precisão para várias classes. As pontuações `PrecisionMacro` variam de zero (0) a um (1). Pontuações mais altas refletem a capacidade do modelo de prever positivos verdadeiros (TP) a partir de todos os positivos identificados, com a média de várias classes.

**`R2`**  
R2, também conhecido como coeficiente de determinação, é usado na regressão para quantificar o quanto um modelo pode explicar a variância de uma variável dependente. Os valores variam de um (1) a menos um (-1). Números maiores indicam uma fração maior de variabilidade explicada. Valores de `R2` próximos a zero (0) indicam que muito pouco da variável dependente pode ser explicado pelo modelo. Valores negativos indicam um ajuste ruim, e que o modelo é superado por uma função constante. Para regressão linear, essa é uma linha horizontal.

**`Recall`**  
O recall mede o quão bem um algoritmo prevê corretamente todos os positivos verdadeiros (TP) em um conjunto de dados. Um positivo verdadeiro é uma predição positiva que também é um valor positivo real nos dados. O recall é definido da seguinte forma: Recall = TP/(TP\$1FN), com valores que variam de 0 a 1. Pontuações mais altas refletem uma melhor capacidade do modelo de prever positivos verdadeiros (TP) nos dados. Ele é usado na classificação binária.   
O recall é importante ao testar o câncer porque é usado para encontrar todos os positivos verdadeiros. Um falso-negativo (FP) indica uma predição negativa que, na verdade, é positiva nos dados. Frequentemente, é insuficiente medir somente o recall, porque prever cada saída como um positivo verdadeiro produz uma pontuação de recall perfeita.

**`RecallMacro`**  
O `RecallMacro` calcula o recall para problemas de classificação multiclasse calculando o recall para cada classe e calculando a média das pontuações para obter o recall de várias classes. As pontuações `RecallMacro` variam de 0 a 1. Pontuações mais altas refletem a capacidade do modelo de prever positivos verdadeiros (TP) em um conjunto de dados, enquanto um positivo verdadeiro reflete uma predição positiva que também é um valor positivo real nos dados. Frequentemente, é insuficiente medir apenas o recall, porque prever cada saída como um positivo verdadeiro produzirá uma pontuação de recall perfeita.

**`RMSE`**  
Erro quadrático médio (RMSE) mede a raiz quadrada da diferença ao quadrado entre os valores previstos e reais. É calculado como a média de todos os valores. Ela é usada em análise de regressão para entender o erro de predição dos modelos. É uma métrica importante para indicar a presença de grandes erros e valores atípicos no modelo. Os valores variam de zero (0) ao infinito, com números menores indicando um melhor ajuste do modelo aos dados. O RMSE depende da escala e não deve ser usado para comparar conjuntos de dados de tamanhos diferentes.

As métricas que são calculadas automaticamente para um candidato a modelo são determinadas pelo tipo de problema que está sendo tratado.

Consulte a [documentação de referência SageMaker da API da Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) para ver a lista de métricas disponíveis suportadas pelo Autopilot.

## Métricas ponderadas do Autopilot
<a name="autopilot-weighted-metrics"></a>

**nota**  
O Autopilot oferece apoio para pesos de amostra apenas no modo de agrupamento para todas as [métricas disponíveis](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics), com exceção da `Balanced Accuracy` e `InferenceLatency`, a `BalanceAccuracy` vem com seu próprio esquema de ponderação para conjuntos de dados não equilibrados que não exigem pesos de amostra. A `InferenceLatency` não oferece apoio para pesos de amostra. Tanto a métrica objetiva `Balanced Accuracy` quanto a `InferenceLatency` ignoram qualquer peso de amostra existente ao treinar e avaliar um modelo.

Os usuários podem adicionar uma coluna de pesos de amostra aos seus dados para garantir que cada observação usada para treinar um modelo de machine learning receba um peso correspondente à sua importância percebida para o modelo. Isso é especialmente útil em cenários nos quais as observações no conjunto de dados têm vários graus de importância ou nos quais um conjunto de dados contém um número desproporcional de amostras de uma classe em comparação a outras. A atribuição de um peso a cada observação com base em sua importância ou maior importância para uma classe minoritária pode ajudar no desempenho geral de um modelo ou garantir que um modelo não seja tendencioso para a classe majoritária.

Para obter informações sobre como passar os pesos de amostra ao criar um experimento na interface do usuário do Studio Classic, consulte a *Etapa 7* em [Criação de um experimento do Autopilot usando o Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html). 

Para obter informações sobre como passar pesos de amostra programaticamente ao criar um experimento do Autopilot usando a API, consulte *Como adicionar pesos de amostra a um trabalho do AutoML* em [Criação de um experimento do Autopilot programaticamente](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html).

## Validação cruzada no Autopilot
<a name="autopilot-cross-validation"></a>

A validação cruzada é usada para reduzir o sobreajuste e o desvio na seleção de modelo. Ela também é usada para avaliar o quão bem um modelo pode prever os valores de um conjunto de dados de validação invisível, se o conjunto de dados de validação for extraído da mesma população. Esse método é especialmente importante ao treinar em conjuntos de dados com um número limitado de instâncias de treinamento. 

O Autopilot usa validação cruzada para criar modelos no modo de otimização de hiperparâmetros (HPO) e treinamento em conjunto. A primeira etapa do processo de validação cruzada do Autopilot é dividir os dados em k-folds.

### Divisão k-fold
<a name="autopilot-cross-validation-kfold"></a>

A divisão K-fold é um método que separa um conjunto de dados de treinamento de entrada em vários conjuntos de dados de treinamento e validação. O conjunto de dados é dividido em subamostras de `k` de tamanhos iguais, chamadas de folds. Os modelos são então treinados em `k-1` folds e testados em relação ao késimo fold restante, que é o conjunto de dados de validação. O processo é repetido `k` vezes usando um conjunto de dados diferente para validação. 

A imagem a seguir mostra a divisão de k-fold com k = 4 folds. Cada fold é representado como uma linha. As caixas em tons escuros representam as partes dos dados usadas no treinamento. As caixas em tons claros restantes indicam os conjuntos de dados de validação. 

![\[Divisão em k-folds com 4 folds representados como caixas: escuras para dados usados; claras para conjuntos de dados de validação.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


O Autopilot usa validação cruzada de k-fold para criar modelos no modo de otimização de hiperparâmetros (HPO) e de agrupamento.

Você pode implantar modelos de piloto automático criados usando validação cruzada, como faria com qualquer outro modelo de piloto automático ou SageMaker de IA.

### Modo HPO
<a name="autopilot-cross-validation-hpo"></a>

A validação cruzada k-fold usa o método de divisão k-fold para validação cruzada. No modo HPO, o Autopilot implementa automaticamente a validação cruzada k-fold para pequenos conjuntos de dados com 50.000 ou menos instâncias de treinamento. A realização da validação cruzada é especialmente importante ao treinar em pequenos conjuntos de dados, pois protege contra sobreajuste e desvio de seleção. 

O modo HPO usa um valor *k* de 5 em cada um dos algoritmos candidatos usados para modelar o conjunto de dados. Vários modelos são treinados em diferentes divisões, e os modelos são armazenados separadamente. Quando o treinamento é concluído, a média das métricas de validação de cada um dos modelos é calculada para produzir uma única métrica de estimativa. Por fim, o Autopilot combina os modelos do teste com a melhor métrica de validação em um modelo de agrupamento. O Autopilot usa esse modelo de agrupamento para fazer predições.

A métrica de validação para os modelos treinados pelo Autopilot é apresentada como a métrica objetiva no placar de modelos. O Autopilot usa a métrica de validação padrão para cada tipo de problema que ele trata, a menos que você especifique o contrário. Para obter uma lista de todas as métricas utilizadas pelo Autopilot, consulte [Métricas do Autopilot](#autopilot-metrics).

Por exemplo, o [conjunto de dados Boston Housing](http://lib.stat.cmu.edu/datasets/boston) contém apenas 861 amostras. Se você criar um modelo para prever preços de venda de casas usando esse conjunto de dados sem validação cruzada, corre o risco de treinar em um conjunto de dados que não é representativo do estoque imobiliário de Boston. Se você dividir os dados somente uma vez em subconjuntos de treinamento e validação, o fold de treinamento poderá conter apenas dados principalmente dos subúrbios. Como resultado, você treinaria em dados que não são representativos do resto da cidade. Nesse exemplo, seu modelo provavelmente seria sobreajustado nessa seleção tendenciosa. A validação cruzada k-fold pode reduzir o risco desse tipo de erro fazendo uso completo e aleatório dos dados disponíveis para treinamento e validação.

A validação cruzada pode aumentar os tempos de treinamento em uma média de 20%. Os tempos de treinamento também podem aumentar significativamente para conjuntos de dados complexos.

**nota**  
No modo HPO, você pode ver as métricas de treinamento e validação de cada dobra em seus `/aws/sagemaker/TrainingJobs` CloudWatch registros. Para obter mais informações sobre CloudWatch registros, consulte[CloudWatch Registros para Amazon SageMaker AI](logging-cloudwatch.md). 

### Modo de agrupamento
<a name="autopilot-cross-validation-ensemble"></a>

**nota**  
O Autopilot oferece apoio a pesos de amostra no modo de agrupamento. Para obter a lista de métricas disponíveis que oferecem apoio a pesos de amostra, consulte [Métricas do Autopilot](#autopilot-metrics).

No modo de agrupamento, a validação cruzada é realizada independentemente do tamanho do conjunto de dados. Os clientes podem fornecer seu próprio conjunto de dados de validação e taxa de divisão de dados personalizada ou podem deixar o Autopilot dividir o conjunto de dados automaticamente em uma taxa de divisão de 80-20%. Os dados de treinamento são então divididos em `k` -folds para validação cruzada, onde o valor de `k` é determinado pelo mecanismo. AutoGluon Um agrupamento consiste em vários modelos de machine learning, em que cada modelo é conhecido como o modelo básico. Um modelo de base única é treinado em (`k`-1) dobras e faz out-of-fold previsões na dobra restante. Esse processo é repetido em todas as `k` dobras, e as previsões out-of-fold (OOF) são concatenadas para formar um único conjunto de previsões. Todos os modelos básicos do agrupamento seguem esse mesmo processo de geração de predições OOF.

A imagem a seguir mostra a validação de k-fold com `k` = 4 folds. Cada fold é representado como uma linha. As caixas em tons escuros representam as partes dos dados usadas no treinamento. As caixas em tons claros restantes indicam os conjuntos de dados de validação. 

Na parte superior da imagem, em cada fold, o primeiro modelo básico faz predições no conjunto de dados de validação após o treinamento nos conjuntos de dados de treinamento. Em cada fold subsequente, os conjuntos de dados mudam de função. Um conjunto de dados que antes era usado para treinamento agora é usado para validação, e isso também se aplica ao contrário. No final das `k` dobras, todas as previsões são concatenadas para formar um único conjunto de previsões chamado de previsão (OOF). out-of-fold Esse processo é repetido para cada modelo básico de `n`.

![\[Validação de k-fold: Quatro linhas de caixas representam 4-folds que geram uma linha de predições OOF.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


As predições OOF para cada modelo básico são então usadas como atributos para treinar um modelo de empilhamento. O modelo de empilhamento aprende os pesos de importância de cada modelo básico. Esses pesos são usados para combinar as predições OOF para formar a predição final. A performance no conjunto de dados de validação determina qual modelo básico ou de empilhamento é o melhor, e esse modelo é retornado como o modelo final.

No modo de agrupamento, você pode fornecer seu próprio conjunto de dados de validação ou permitir que o Autopilot divida o conjunto de dados de entrada automaticamente em conjunto de dados 80% de treinamento e 20% de validação. Os dados de treinamento são então divididos em `k`-folds para validação cruzada e produzem uma predição OOF e um modelo básico para cada fold.

Essas predições OOF são usadas como atributos para treinar um modelo de empilhamento, que aprende simultaneamente os pesos para cada modelo básico. Esses pesos são usados para combinar as predições OOF para formar a predição final. Os conjuntos de dados de validação para cada fold são usados para o ajuste de hiperparâmetros de todos os modelos básicos e do modelo de empilhamento. A performance no conjunto de dados de validação determina qual modelo básico ou de empilhamento é o melhor, e esse modelo é retornado como o modelo final.

# Implantação e predição de modelos do Autopilot
<a name="autopilot-deploy-models"></a>

Este guia do Amazon SageMaker Autopilot inclui etapas para implantação de modelos, configuração de inferência em tempo real e execução de inferência com trabalhos em lote. 

Depois de criar e treinar seus modelos, você poderá implantá-los para obter predições de duas maneiras:

1. Use [Implantar modelos para inferência em tempo real](autopilot-deploy-models-realtime.md) para configurar um endpoint e obter predições de forma interativa. A inferência em tempo real é ideal para workloads de inferência em que você tem requisitos em tempo real, interativos e de baixa latência.

1. Use [Execução de trabalhos de inferência em lote](autopilot-deploy-models-batch.md) para fazer predições paralelas em lotes de observações em um conjunto de dados inteiro. A inferência em lote é uma boa opção para grandes conjuntos de dados ou se você não precisar de uma resposta imediata a uma solicitação de predição de modelo.

**nota**  
Para evitar cobranças desnecessárias: depois que os endpoints e os recursos criados a partir da implantação do modelo não forem mais necessários, você poderá excluí-los. Para obter informações sobre preços de instâncias por região, consulte [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/).

# Implantar modelos para inferência em tempo real
<a name="autopilot-deploy-models-realtime"></a>

A inferência em tempo real é ideal para workloads de inferência em que você tem requisitos em tempo real, interativos e de baixa latência. Esta seção mostra como você pode usar a inferência em tempo real para obter predições do seu modelo de forma interativa.

Para implantar o modelo que produziu a melhor métrica de validação em um experimento do Autopilot, você tem várias opções. Por exemplo, ao usar o Autopilot no SageMaker Studio Classic, você pode implantar o modelo automática ou manualmente. Você também pode usar SageMaker APIs para implantar manualmente um modelo de piloto automático. 

As guias a seguir mostram três opções para implantar seu modelo. Estas instruções supõem que você já criou um modelo no Autopilot. Se você não tem um modelo, consulte [Crie trabalhos de regressão ou classificação para dados tabulares com a API do AutoML](autopilot-automate-model-development-create-experiment.md). Para ver exemplos de cada opção, abra cada guia.

## Implemente usando a interface de usuário (UI) do Autopilot
<a name="autopilot-deploy-models-realtime-ui"></a>

A interface do usuário do Autopilot contém menus suspensos úteis, botões de alternância, dicas de ferramentas e muito mais para ajudá-lo(a) a navegar pela implantação do modelo. Você pode implantar usando um dos seguintes procedimentos: automático ou manual.
+ **Implantação automática**: para implantar automaticamente o melhor modelo de um experimento do Autopilot em um endpoint

  1. [Crie um experimento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) no SageMaker Studio Classic. 

  1. Mude o valor de **Implantação automática** para **Sim**.
**nota**  
**A implantação automática falhará se a cota de recursos padrão ou a cota de clientes para instâncias de endpoint em uma região for muito limitada.** No modo de otimização de hiperparâmetros (HPO), você precisa ter pelo menos duas instâncias ml.m5.2xlarge. No modo de agrupamento, você precisa ter pelo menos uma instância ml.m5.12xlarge. Se você encontrar uma falha relacionada às cotas, poderá [solicitar um aumento do limite de serviço](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) para instâncias de endpoint de SageMaker IA.
+ **Implantação manual**: para implantar manualmente o melhor modelo de um experimento do Autopilot em um endpoint

  1. [Crie um experimento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html) no SageMaker Studio Classic. 

  1. Mude o valor de **Implantação automática** para **Não**. 

  1. Selecione o modelo que deseja implantar em **Nome do modelo**.

  1. Selecione o botão laranja de **Implantação e configurações avançadas** localizado à direita do placar. Isso abre uma nova guia.

  1. Configure o nome do endpoint, o tipo de instância e outras informações opcionais.

  1.  Selecione o botão laranja **Implantar modelo** para implantar em um endpoint.

  1. Verifique o progresso do processo de criação do endpoint no [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)navegando até a seção Endpoints. Essa seção está localizada no menu suspenso **Inferência** no painel de navegação. 

  1. Depois que o status do endpoint mudar de **Creating** para **InService**, conforme mostrado abaixo, retorne ao Studio Classic e invoque o endpoint.  
![\[SageMaker Console de IA: página de endpoints para criar um endpoint ou verificar o status do endpoint.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## Implemente usando SageMaker APIs
<a name="autopilot-deploy-models-api"></a>

Você também pode obter inferência em tempo real implantando seu modelo usando **chamadas de API**. Esta seção mostra as cinco etapas desse processo usando trechos de código AWS Command Line Interface (AWS CLI). 

Para obter exemplos de código completos para AWS CLI comandos e AWS SDK para Python (boto3), abra as guias diretamente seguindo estas etapas.

1. **Obtenha definições de candidatos**

   Obtenha as definições do contêiner candidato em [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers). Essas definições de candidatos são usadas para criar um modelo de SageMaker IA. 

   O exemplo a seguir usa a [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API para obter as definições do candidato ao melhor modelo. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Listar candidatos**

   O exemplo a seguir usa a [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API para listar todos os candidatos. O comando da AWS CLI a seguir é um exemplo.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Crie um modelo de SageMaker IA**

   Use as definições de contêiner das etapas anteriores para criar um modelo de SageMaker IA usando a [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Criar uma configuração de endpoint** 

   O exemplo a seguir usa a [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API para criar uma configuração de endpoint. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **Criar o endpoint** 

   O AWS CLI exemplo a seguir usa a [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para criar o endpoint.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   Verifique o progresso da implantação do seu endpoint usando a [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Depois que `EndpointStatus` muda para `InService`, o endpoint está pronto para ser usado para inferência em tempo real.

1. **Invocar o endpoint** 

   A estrutura de comando a seguir invoca o endpoint para inferência em tempo real.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

As guias a seguir contêm exemplos de código completos para implantar um modelo com o SDK AWS para Python (boto3) ou AWS CLI.

------
#### [ AWS SDK for Python (boto3) ]

1. **Obtenha as definições do candidato** usando o exemplo de código a seguir.

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. **Crie o modelo** usando o exemplo de código a seguir.

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. **Crie a configuração de endpoint** usando o exemplo de código a seguir.

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. **Crie o endpoint** e implante o modelo com o exemplo de código a seguir.

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   **Verifique o status da criação do endpoint** usando o exemplo de código a seguir.

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. **Invoque o endpoint** para inferência em tempo real usando a estrutura de comando a seguir.

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenha as definições do candidato** usando o exemplo de código a seguir.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Crie o modelo** usando o exemplo de código a seguir.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   Para obter detalhes adicionais, consulte [Criando um modelo](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html).

   O comando da `create model` responderá no formato a seguir.

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. **Crie a configuração de endpoint** usando o exemplo de código a seguir.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   O comando de configuração `create endpoint` responderá no formato a seguir.

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. **Crie um endpoint** usando o exemplo de código a seguir.

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   O comando da `create endpoint` responderá no formato a seguir.

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   Verifique o progresso da implantação do endpoint usando o seguinte exemplo de código da CLI [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html):

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   A verificação de progresso anterior responderá no formato a seguir.

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   Depois das alterações `EndpointStatus` para `InService`, o endpoint está pronto para uso em inferência em tempo real.

1. **Invoque o endpoint** para inferência em tempo real usando a estrutura de comando a seguir.

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   Para obter mais opções, consulte [invocar um endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html).

------

## Implemente modelos de contas diferentes
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

Você pode implantar um modelo do Autopilot a partir de uma conta diferente da conta original na qual o modelo foi gerado. Para implementar a implantação do modelo entre contas, esta seção mostra como fazer o seguinte:   Conceda permissão para assumir a função na conta da qual você deseja implantar (a conta geradora).    Faça uma chamada para a conta `DescribeAutoMLJob` de implantação para obter informações do modelo.    Conceder direitos de acesso aos artefatos do modelo da conta geradora.    

1. **Conceder permissão à conta de implantação** 

   Para assumir a função na conta geradora, você deve dar permissão para a conta de implantação. Isso permite que a conta de implantação descreva as tarefas do Autopilot na conta geradora.

   O exemplo a seguir usa uma conta geradora com uma entidade `sagemaker-role` confiável. O exemplo mostra como dar permissão a uma conta de implantação com o ID 111122223333 para assumir a função da conta geradora.

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   A nova conta com o ID 111122223333 agora pode assumir a função da conta geradora. 

   Em seguida, chame a API `DescribeAutoMLJob` da conta de implantação para obter uma descrição do trabalho criado pela conta geradora. 

   O exemplo de código a seguir descreve o modelo da conta de implantação.

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. **Conceda acesso à conta de implantação** aos artefatos do modelo na conta geradora.

   Conceda acesso à conta de implantação somente aos artefatos do modelo na conta geradora para implantá-la. Eles estão localizados no [S3 OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) que foi especificado na chamada de `CreateAutoMLJob` API original durante a geração do modelo.

   Para dar acesso à conta de implantação aos artefatos do modelo, escolha uma das seguintes opções:

   1. [Dê acesso](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) ao `ModelDataUrl` da conta geradora para a conta de implantação.

      Em seguida, você precisa dar permissão à conta de implantação para assumir a função. Siga as etapas de [inferência em tempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime) para implantar. 

   1. [Copie artefatos do modelo](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/) do [S3](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath) original da conta geradora OutputPath para a conta geradora.

      Para conceder acesso aos artefatos do modelo, defina um modelo `best_candidate` e reatribua os contêineres do modelo à nova conta. 

      O exemplo a seguir mostra como definir um modelo `best_candidate` e reatribuir o `ModelDataUrl`.

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      Após essa atribuição de contêineres, siga as etapas em [Implemente usando SageMaker APIs](#autopilot-deploy-models-api) para implantar.

Para criar uma carga útil em inferência em tempo real, veja o exemplo do caderno para [definir uma carga útil de teste](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models). Para criar a carga útil a partir de um arquivo CSV e invocar um endpoint, consulte a seção **Prever com seu modelo** em [Criar um modelo de machine learning automaticamente](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room).

# Execução de trabalhos de inferência em lote
<a name="autopilot-deploy-models-batch"></a>

A inferência em lote, também conhecida como inferência offline, gera predições de modelo em um lote de observações. A inferência em lote é uma boa opção para grandes conjuntos de dados ou se você não precisar de uma resposta imediata a uma solicitação de predição de modelo. Por outro lado, a inferência online ([inferência em tempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)) gera predições em tempo real. Você pode fazer inferências em lote a partir de um modelo do Autopilot usando o [SDK do SageMaker Python](https://sagemaker.readthedocs.io/en/stable/), a interface de usuário (UI) do Autopilot, o SDK [AWS para Python](https://aws.amazon.com/sdk-for-python/) (boto3) ou o (). AWS Command Line Interface [AWS CLI](https://docs.aws.amazon.com/cli/)

As guias a seguir mostram três opções para implantar seu modelo: Usando APIs, interface do piloto automático ou usando APIs para implantar a partir de contas diferentes. Estas instruções supõem que você já criou um modelo no Autopilot. Se você não tem um modelo, consulte [Crie trabalhos de regressão ou classificação para dados tabulares com a API do AutoML](autopilot-automate-model-development-create-experiment.md). Para ver exemplos de cada opção, abra cada guia.

## Implemente um modelo usando a interface do Autopilot
<a name="autopilot-deploy-models-batch-ui"></a>

A interface do usuário do Autopilot contém menus suspensos úteis, botões de alternância, dicas de ferramentas e muito mais para ajudá-lo(a) a navegar pela implantação do modelo.

As etapas a seguir mostram como implantar um modelo de um experimento do Autopilot para predições em lote. 

1. Faça login em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e selecione **Studio** no painel de navegação.

1. No painel de navegação à esquerda, escolha **Studio**.

1. Em **Comece a usar**, selecione o domínio no qual você deseja iniciar a aplicação Studio. Se o seu perfil de usuário pertencer apenas a um domínio, você não verá a opção para selecionar um domínio.

1. Selecione o perfil de usuário para o qual você deseja iniciar a aplicação do Studio Classic. Se não houver perfil de usuário no domínio, escolha **Criar perfil de usuário**. Para obter mais informações, consulte [Adicionar perfis de usuário](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Escolha **Executar o Studio**. Se o perfil do usuário pertencer a um espaço compartilhado, escolha **Espaços abertos**. 

1. Quando o console do SageMaker Studio Classic abrir, escolha o botão **Launch SageMaker Studio**.

1. Selecione **AutoML** no painel de navegação à esquerda.

1. Em **Nome**, selecione o experimento do Autopilot correspondente ao modelo que você deseja implantar. Isso abre uma nova guia de **trabalhos do Autopilot**.

1. Na seção **Nome do modelo**, selecione o modelo que deseja implantar.

1. Escolha **Implantar modelo**. Isso abre uma nova guia.

1. Escolha **Make batch predictions (Fazer predições em lote)** na parte superior da página.

1. Para a **configuração do trabalho de transformação de lotes**, insira **o tipo de instância**, **Contagem de instâncias** e outras informações opcionais.

1. Na seção **Configuração de dados de entrada**, abra o menu suspenso. 

   1. Para o **tipo de dados S3**, escolha **ManifestFile**ou **S3Prefix**.

   1. **Para **Tipo de divisão**, escolha **Linha**, **Recordio **TFRecord****ou Nenhum.**

   1. Para **Compactação**, escolha **Gzip** ou **Nenhuma**. 

1. Para a **localização do S3**, insira o local do bucket do Amazon S3 dos dados de entrada e outras informações opcionais.

1. Em **Configuração de dados de saída**, insira o bucket do S3 para os dados de saída e escolha como [montar a saída](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith) do seu trabalho. 

   1. Para **Configuração adicional (opcional)**, você pode inserir um tipo MIME e uma **Chave de criptografia S3**.

1. Para **filtragem de entrada/saída e junções de dados (opcional)**, você insere uma JSONpath expressão para filtrar os dados de entrada, une os dados da fonte de entrada aos dados de saída e insere uma JSONpath expressão para filtrar os dados de saída. 

   1. Para ver exemplos de cada tipo de filtro, consulte a [DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter).

1. Para realizar predições em lote no seu conjunto de dados de entrada, selecione **Criar tarefa de transformação em lote**. Uma nova guia **Trabalhos de transformação de lotes** é exibida.

1. Na guia **Trabalhos de transformação de lotes**: Localize o nome do seu trabalho na seção **Status**. Em seguida, verifique o progresso do trabalho. 

## Implemente usando SageMaker APIs
<a name="autopilot-deploy-models-batch-steps"></a>

Para usar o SageMaker APIs para inferência em lote, há três etapas:

1. **Obtenha definições de candidatos** 

   As definições de candidatos de [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)são usadas para criar um modelo de SageMaker IA. 

   O exemplo a seguir mostra como usar a [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)API para obter definições de candidatos para o melhor candidato a modelo. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   Use a [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)API para listar todos os candidatos. O comando da AWS CLI a seguir é um exemplo.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **Crie um modelo de SageMaker IA**

   Para criar um modelo de SageMaker IA usando a [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API, use as definições de contêiner das etapas anteriores. O comando da AWS CLI a seguir é um exemplo.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Crie um trabalho de transformação da SageMaker IA** 

   O exemplo a seguir cria um trabalho de transformação de SageMaker IA com a [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html)API. Veja o AWS CLI comando a seguir como exemplo.

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

Verifique o progresso do seu trabalho de transformação usando a [DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)API. Veja o AWS CLI comando a seguir como exemplo.

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

Depois que o trabalho for concluído, o resultado previsto estará disponível em `<your-output-path>`. 

O nome do arquivo resultante tem o seguinte formato: `<input_data_file_name>.out`. Por exemplo, se seu arquivo de entrada for `text_x.csv`, o nome de saída será `text_x.csv.out`.

As guias a seguir mostram exemplos de código para SageMaker Python SDK, AWS SDK for Python (boto3) e o. AWS CLI

------
#### [ SageMaker Python SDK ]

O exemplo a seguir usa o **[SDK do SageMaker Python](https://sagemaker.readthedocs.io/en/stable/overview.html)** para fazer previsões em lotes.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 O exemplo a seguir usa o **AWS SDK para Python (boto3)** para fazer predições em lotes.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

O trabalho de inferência em lote retorna uma resposta no formato a seguir.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **Obtenha as definições do candidato** usando o exemplo de código a seguir.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **Crie o modelo** usando o exemplo de código a seguir.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **Crie o trabalho de transformação** usando o exemplo de código a seguir.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **Verifique o progresso do trabalho de transformação** usando o exemplo de código a seguir. 

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   A seguir está a resposta do trabalho de transformação.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   Depois de `TransformJobStatus` ser alterado para `Completed`, você pode verificar o resultado da inferência no `S3OutputPath`.

------

## Implementar modelos de contas diferentes
<a name="autopilot-deploy-models-batch-across-accounts"></a>

Para criar um trabalho de inferência em lote em uma conta diferente daquela em que o modelo foi gerado, siga as instruções em [Implemente modelos de contas diferentes](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts). Em seguida, você pode criar modelos e transformar trabalhos seguindo o [Implemente usando SageMaker APIs](#autopilot-deploy-models-batch-steps).

# visualizar detalhes do modelo
<a name="autopilot-models-details"></a>

O Autopilot gera detalhes sobre os modelos candidatos que você pode obter. Esses detalhes incluem o seguinte:
+ Um gráfico dos valores agregados de SHAP que indicam a importância de cada atributo. Isso ajuda a explicar as predições do seu modelo.
+ As estatísticas resumidas de várias métricas de treinamento e validação, incluindo a métrica objetiva.
+ Uma lista dos hiperparâmetros usados para treinar e ajustar o modelo.

Para ver os detalhes do modelo depois de executar um trabalho de Autopilot, siga estas etapas:

1. Escolha o ícone **Início** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/icons/house.png)) no painel de navegação esquerdo para visualizar o menu de navegação de nível superior do **Amazon SageMaker Studio Classic**.

1. Selecione o cartão **AutoML** na área de trabalho principal. Isso abre uma nova guia do **Autopilot**.

1. Na seção **Nome**, selecione a trabalho do Autopilot que tem os detalhes que você deseja examinar. Isso abre uma nova guia de **trabalhos do Autopilot**.

1. O painel de **trabalhos do Autopilot** lista os valores métricos, incluindo a métrica **objetiva** de cada modelo em **Nome do modelo**. O **melhor modelo** está listado no topo da lista, em **Nome do modelo** e também é destacado na guia **Modelos**.

   1. Para revisar os detalhes do modelo, selecione o modelo em que você está interessado e selecione **Visualizar detalhes do modelo**. Isso abre uma nova guia **Detalhes do modelo**.

1. A guia **Detalhes do modelo** é dividida em quatro subseções.

   1. A parte superior da guia **Explicabilidade** contém um gráfico de valores de SHAP agregados que indicam a importância de cada atributo. A seguir estão os valores de métricas e hiperparâmetros desse modelo. 

   1. A guia **Performance** contém estatísticas de métricas e uma matriz de confusão. 

   1. A guia **Artefatos** contém informações sobre entradas, saídas e resultados intermediários do modelo.

   1. A guia **Rede** resume suas escolhas de isolamento e criptografia de rede.
**nota**  
A importância e as informações do atributo na guia **Performance** são geradas somente para o **melhor modelo**.

   Para obter mais informações sobre como os valores do SHAP ajudam a explicar as predições com base na importância do atributo, consulte o whitepaper [Entendendo a explicabilidade do modelo](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf). Informações adicionais também estão disponíveis no [Explicabilidade do modelo](clarify-model-explainability.md) tópico do Guia do desenvolvedor de SageMaker IA. 

# Visualizar um relatório de desempenho do modelo do Autopilot
<a name="autopilot-model-insights"></a>

Um relatório de qualidade do modelo Amazon SageMaker AI (também chamado de relatório de desempenho) fornece insights e informações de qualidade para o melhor candidato a modelo gerado por um trabalho no AutoML. Isso inclui informações sobre os detalhes do trabalho, o tipo de problema do modelo, a função objetivo e outras informações relacionadas ao tipo de problema. Este guia mostra como visualizar graficamente as métricas de desempenho do Amazon SageMaker Autopilot ou como dados brutos em um arquivo JSON.

Por exemplo, em problemas de classificação, o relatório de qualidade do modelo inclui o seguinte:
+ Matriz de confusão
+ Área sob a curva característica de operação do receptor (AUC)
+ Informações para entender falsos positivos e falsos negativos
+ Compensações entre verdadeiros positivos e falsos positivos
+ Compensações entre precisão e recuperação

O Autopilot também fornece métricas de desempenho para todos os seus modelos candidatos. Essas métricas são calculadas usando todos os dados de treinamento e são usadas para estimar o desempenho do modelo. A área de trabalho principal inclui essas métricas por padrão. O tipo de métrica é determinado pelo tipo de problema que está sendo tratado.

Consulte a [documentação de referência SageMaker da API da Amazon](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) para ver a lista de métricas disponíveis suportadas pelo Autopilot.

Você pode classificar seus candidatos a modelo com a métrica relevante para ajudá-lo a selecionar e implantar o modelo que atenda às suas necessidades comerciais. Para obter definições dessas métricas, consulte o tópico [Métricas de candidatos do Autopilot](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics).

Para visualizar um relatório de desempenho de um trabalho do Autopilot, siga estas etapas:

1. Escolha o ícone **Início** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/icons/house.png)) no painel de navegação esquerdo para visualizar o menu de navegação de nível superior do **Amazon SageMaker Studio Classic**.

1. Selecione o cartão **AutoML** na área de trabalho principal. Isso abre uma nova guia do **Autopilot**.

1. Na seção **Nome**, selecione a trabalho do Autopilot que tem os detalhes que você deseja examinar. Isso abre uma nova guia de **trabalhos do Autopilot**.

1. O painel de **trabalhos do Autopilot** lista os valores métricos, incluindo a métrica **objetiva** de cada modelo em **Nome do modelo**. O **melhor modelo** está listado no topo da lista, em **Nome do modelo** e é destacado na guia **Modelos**.

   1. Para revisar os detalhes do modelo, selecione o modelo em que você está interessado e selecione **Visualizar detalhes no modelo**. Isso abre uma nova guia **Detalhes do modelo**.

1. Escolha a guia **Performance** entre as guias **Explicabilidade** e **Artefatos**.

   1. Na seção superior direita da guia, selecione a seta para baixo no botão **Fazer o download de relatórios de desempenho**. 

   1. A seta para baixo fornece duas opções para visualizar as métricas de desempenho do Autopilot:

      1. Você pode baixar um PDF do relatório de desempenho para visualizar as métricas graficamente.

      1. Você pode ver as métricas como dados brutos e baixá-las como um arquivo JSON.

Para obter instruções sobre como criar e executar uma tarefa do AutoML no SageMaker Studio Classic, consulte. [Crie trabalhos de regressão ou classificação para dados tabulares com a API do AutoML](autopilot-automate-model-development-create-experiment.md) 

O relatório de desempenho contém duas seções. O primeiro contém detalhes sobre o trabalho do Autopilot que produziu o modelo. A segunda seção contém um relatório de qualidade do modelo.

## Detalhes do trabalho do Autopilot
<a name="autopilot-model-insights-details-and-metrics-table"></a>

Esta primeira seção do relatório fornece algumas informações gerais sobre o trabalho do Autopilot que produziu o modelo. Esses trabalhos incluem as seguintes informações:
+ Nome do candidato do Autopilot
+ Nome do trabalho do Autopilot
+ Tipo de problema
+ Métrica objetiva
+ Direção de otimização

## Relatório de qualidade do modelo
<a name="autopilot-model-quality-report"></a>

As informações de qualidade do modelo são geradas pelos insights de modelo do Autopilot. O conteúdo do relatório gerado depende do tipo de problema abordado: regressão, classificação binária ou classificação multiclasse. O relatório especifica o número de linhas que foram incluídas no conjunto de dados da avaliação e a hora em que a avaliação ocorreu.

### Tabelas de métricas
<a name="autopilot-model-quality-report-metrics"></a>

A primeira parte do relatório de qualidade do modelo contém tabelas de métricas. Eles são apropriados para o tipo de problema abordado pelo modelo.

A imagem a seguir é um exemplo de uma tabela de métricas que o Autopilot gera para um problema de regressão. Ele mostra o nome, o valor e o desvio padrão da métrica.

![\[Exemplo de relatório de métricas de regressão do Amazon SageMaker Autopilot model Insights.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


A imagem a seguir é um exemplo de uma tabela de métricas gerada pelo Autopilot para um problema de classificação multiclasse. Ele mostra o nome, o valor e o desvio padrão da métrica.

![\[Exemplo de relatório de métricas de classificação multiclasse de insights do modelo Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### Informações gráficas de performance do modelo
<a name="autopilot-model-quality-report-graphs"></a>

 A segunda parte do relatório de qualidade do modelo contém informações gráficas para ajudá-lo a avaliar o desempenho do modelo. O conteúdo desta seção depende do tipo de problema usado na modelagem.

#### A área sob a curva de característica de operação do receptor
<a name="autopilot-model-insights-auc-roc"></a>

A área abaixo da curva característica de operação do receptor representa a concessão entre as taxas de verdadeiro positivo e falso positivo. É uma métrica de precisão padrão do setor usada para modelos de classificação binária. A AUC (área sob a curva) mede a capacidade do modelo de prever uma pontuação maior de exemplos positivos em comparação com os exemplos negativos. A métrica AUC fornece uma medida agregada do desempenho do modelo em todos os limites de classificação possíveis.

A métrica de AUC retorna um valor decimal de 0 a 1. Os valores de AUC quase de 1 indicam que um modelo de machine learning é altamente preciso. Os valores próximos a 0,5 indicam que um modelo de ML não é melhor do que a adivinhação aleatória. Valores de AUC próximos a 0 indicam que o modelo aprendeu os padrões corretos, mas está fazendo predições tão imprecisas quanto possível. Valores próximos de zero podem indicar um problema com os dados. Para obter mais informações sobre a métrica AUC, consulte o artigo [Característica de operação do receptor](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) na Wikipedia.

Veja a seguir um exemplo de uma área sob o gráfico da curva característica de operação do receptor para avaliar as predições feitas por um modelo de classificação binária. A linha fina tracejada representa a área sob a curva característica de operação do receptor que um modelo que classifica a no-better-than-random adivinhação pontuaria, com uma pontuação de AUC de 0,5. As curvas dos modelos de classificação mais precisos estão acima dessa linha de base aleatória, em que a taxa de verdadeiros positivos excede a taxa de falsos positivos. A área sob a curva característica de operação do receptor que representa o desempenho do modelo de classificação binária é a linha sólida mais espessa. 

![\[Exemplo de área do Amazon SageMaker Autopilot abaixo da curva característica de operação do receptor.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


Um resumo dos componentes do gráfico da **taxa de falsos positivos** (FPR) e da **taxa de positivos verdadeiros** (TPR) é definido da seguinte forma:
+ Previsões corretas
  + **Positivo verdadeiro** (PV): o valor previsto é 1 e o valor verdadeiro é 1.
  + **Negativo verdadeiro** (NV): o valor previsto é 0 e o valor verdadeiro é 0.
+ Previsões incorretas
  + **Falso positivo** (FP): o valor previsto é 1, mas o valor verdadeiro é 0.
  + **Falso negativo** (FN): o valor previsto é 0, mas o valor verdadeiro é 1.

A **taxa de falsos-positivos** (FPR) mede a fração de verdadeiros negativos (TN) que foram falsamente previstos como positivos (FP), sobre a soma de FP e TN. O intervalo é de 0 a 1. Um valor menor indica melhor precisão preditiva. 
+ FPR = FP/ (FP\$1TN)

A **taxa de positivos verdadeiros** (TPR) mede a fração de verdadeiros positivos que foram corretamente previstos como positivos (TP) sobre a soma de TP e falsos negativos (FN). O intervalo é de 0 a 1. Um valor maior indica melhor precisão preditiva.
+ TPR = TP/(TP\$1FN)

#### Matriz de confusão
<a name="autopilot-model-insights-confusion-matrix"></a>

Uma matriz de confusão fornece uma maneira de visualizar a precisão das predições feitas por um modelo para classificação binária e multiclasse para problemas diferentes. A matriz de confusão no relatório de qualidade do modelo contém o seguinte:
+ O número e a porcentagem de predições corretas e incorretas para os rótulos reais
+ O número e a porcentagem de predições precisas na diagonal do canto superior esquerdo ao canto inferior direito
+ O número e a porcentagem de predições imprecisas na diagonal do canto superior direito ao canto inferior esquerdo

As predições incorretas em uma matriz de confusão são os valores de confusão.

O diagrama a seguir é um exemplo de matriz de confusão para um problema de classificação multiclasse. Ela contém as seguintes informações:
+ O eixo vertical é dividido em duas linhas contendo rótulos reais verdadeiros e falsos.
+ O eixo horizontal é dividido em duas colunas contendo rótulos verdadeiros e falsos que foram previstos pelo modelo.
+ A barra de cores atribui um tom mais escuro a um número maior de amostras para indicar visualmente o número de valores que foram classificados em cada categoria.

Neste exemplo, o modelo previu corretamente 2817 valores falsos reais e 353 valores reais verdadeiros corretamente. O modelo previu incorretamente 130 valores reais verdadeiros como falsos e 33 valores reais falsos como verdadeiros. A diferença de tom indica que o conjunto de dados não está balanceado. O desequilíbrio ocorre porque há muito mais rótulos falsos reais do que rótulos verdadeiros.

![\[Exemplo de matriz de confusão binária do Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


O diagrama a seguir é um exemplo de matriz de confusão para um problema de classificação multiclasse. A matriz de confusão no relatório de qualidade do modelo contém o seguinte:
+ O eixo vertical é dividido em três linhas contendo três rótulos reais diferentes.
+ O eixo horizontal é dividido em três colunas contendo rótulos que foram previstos pelo modelo.
+ A barra de cores atribui um tom mais escuro a um número maior de amostras para indicar visualmente o número de valores que foram classificados em cada categoria.

No exemplo abaixo, o modelo previu corretamente os valores reais de 354 para o rótulo **f**, 1094 valores para o rótulo **i** e 852 valores para o rótulo **m.** A diferença de tom indica que o conjunto de dados não está balanceado porque há muito mais rótulos para o valor **i** do que para **f** ou **m**. 

![\[Exemplo de matriz de confusão multiclasse do Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


A matriz de confusão no relatório de qualidade do modelo fornecido pode acomodar no máximo 15 rótulos para tipos de problemas de classificação multiclasse. Se uma linha correspondente a um rótulo mostrar um valor `Nan`, isso significa que o conjunto de dados de validação usado para verificar as predições de modelo não contém dados com esse rótulo.

#### Curva de ganho
<a name="autopilot-model-insights-precision-gain-curve"></a>

Na classificação binária, uma curva de ganho prevê o benefício cumulativo de usar uma porcentagem do conjunto de dados para encontrar um rótulo positivo. O valor do ganho é calculado durante o treinamento dividindo o número cumulativo de observações positivas pelo número total de observações positivas nos dados, em cada decil. Se o modelo de classificação criado durante o treinamento for representativo dos dados não vistos, você poderá usar a curva de ganho para prever a porcentagem de dados que deve ser segmentada para obter uma porcentagem de rótulos positivos. Quanto maior a porcentagem do conjunto de dados usado, maior a porcentagem de rótulos positivos encontrados.

No gráfico de exemplo a seguir, a curva de ganho é a linha com inclinação variável. A linha reta é a porcentagem de rótulos positivos encontrados ao selecionar aleatoriamente uma porcentagem de dados do conjunto de dados. Ao atingir 20% do conjunto de dados, você esperaria encontrar mais de 40% dos rótulos positivos. Como exemplo, você pode considerar o uso de uma curva de ganho para determinar seus esforços em uma campanha de marketing. Usando nosso exemplo de curva de ganho, para 83% das pessoas em um bairro comprarem biscoitos, você enviaria um anúncio para cerca de 60% do bairro.

![\[Exemplo de curva de ganho do Amazon SageMaker Autopilot com porcentagem e valor de ganho.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### Curva de elevação
<a name="autopilot-model-insights-lift-curve"></a>

Na classificação binária, a curva de elevação ilustra o aumento do uso de um modelo treinado para prever a probabilidade de encontrar um rótulo positivo em comparação com uma suposição aleatória. O valor de elevação é calculado durante o treinamento usando a razão entre o ganho percentual e a proporção de rótulos positivos em cada decil. Se o modelo criado durante o treinamento for representativo dos dados não vistos, use a curva de elevação para prever a vantagem de usar o modelo em vez de adivinhar aleatoriamente.

No gráfico de exemplo a seguir, a curva de elevação é a linha com inclinação variável. A linha reta é a curva de elevação associada à seleção aleatória da porcentagem correspondente do conjunto de dados. Ao atingir 40% do conjunto de dados com os rótulos de classificação do seu modelo, você esperaria encontrar cerca de 1,7 vezes o número de rótulos positivos que teria encontrado ao selecionar aleatoriamente 40% dos dados não vistos.

![\[Exemplo de curva de elevação do Amazon SageMaker Autopilot com porcentagem e valor de elevação.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### Curva de recuperação de precisão
<a name="autopilot-model-insights-precision-recall-curve"></a>

A curva de recuperação de precisão representa a compensação entre precisão e recuperação para problemas de classificação binária. 

A **precisão** mede a fração de positivos reais que são previstos como positivos (TP) de todas as predições positivas (TP e falsos positivos). O intervalo é de 0 a 1. Um valor maior indica melhor precisão nos valores previstos.
+ Precisão = TP/(TP\$1FP)

**Recall** mede a fração de positivos reais que são previstos como positivos (PV) de todas as predições positivas (PP e falsos negativos). Isso também é conhecido como a sensibilidade ou como a taxa positiva verdadeira. O intervalo é de 0 a 1. Um valor maior indica uma melhor detecção de valores positivos da amostra. 
+ Recuperação = TP/(TP\$1FN)

O objetivo de um problema de classificação é rotular corretamente o maior número possível de elementos. Um sistema com alto recall, mas baixa precisão, retorna uma alta porcentagem de falsos positivos. 

O gráfico a seguir mostra um filtro de spam que marca todos os e-mails como spam. Tem alto recall, mas baixa precisão, porque o recall não mede falsos positivos. 

Dê mais peso ao recall do que à precisão se seu problema tiver uma penalidade baixa por valores falsos positivos, mas uma penalidade alta por perder um resultado verdadeiro positivo. Por exemplo, detectar uma colisão iminente em um veículo autônomo.

![\[Exemplo de Autopilot de sistema de alta recuperação e baixa precisão, modelando todas as amostras como positivas.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


Por outro lado, um sistema com alta precisão, mas com baixa recuperação, retorna uma alta porcentagem de falsos negativos. Um filtro de spam que marca cada e-mail como desejável (não spam) tem alta precisão, mas baixa recuperação, pois a precisão não mede falsos negativos. 

Se seu problema tem uma penalidade baixa por valores falsos negativos, mas uma penalidade alta por perder resultados negativos verdadeiros, dê mais peso à precisão do que à recuperação. Por exemplo, sinalizar um filtro suspeito para uma auditoria fiscal.

O gráfico a seguir mostra um filtro de spam que tem alta precisão, mas baixa recuperação, porque a precisão não mede falsos negativos. 

![\[Exemplo de Autopilot de sistema de alta precisão e baixa recuperação, modelando todas as amostras como negativas.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


Um modelo que faz predições com alta precisão e alta recuperação produz um grande número de resultados rotulados corretamente. Para obter mais informações, consulte o artigo [Precisão e recordar](https://en.wikipedia.org/wiki/Precision_and_recall) na Wikipédia.

#### Área sob a curva de recuperação de precisão (AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

Para problemas de classificação binária, o Amazon SageMaker Autopilot inclui um gráfico da área sob a curva de recuperação de precisão (AUPRC). A métrica AUPRC fornece uma medida agregada do desempenho do modelo em todos os limites de classificação possíveis e usa precisão e recuperação. O AUPRC não leva em consideração o número de negativos verdadeiros. Portanto, pode ser útil avaliar o desempenho do modelo nos casos em que há um grande número de pontos negativos verdadeiros nos dados. Por exemplo, para modelar um gene contendo uma mutação rara.

O gráfico a seguir é um exemplo de um gráfico AUPRC. A precisão em seu valor mais alto é 1 e a recuperação está em 0. No canto inferior direito do gráfico, recall é o valor mais alto (1) e a precisão é 0. Entre esses dois pontos, a curva AUPRC ilustra a compensação entre precisão e recuperação em diferentes limites.

![\[A curva de recuperação de precisão representa a compensação entre precisão e recuperação em diferentes limites.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### Gráfico real em relação ao previsto
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

O gráfico real em relação ao previsto mostra a diferença entre os valores reais e previstos do modelo. No gráfico de exemplo a seguir, a linha sólida é uma linha linear de melhor ajuste. Se o modelo fosse 100% preciso, cada ponto previsto seria igual ao ponto real correspondente e estaria nessa linha de melhor ajuste. A distância da linha de melhor ajuste é uma indicação visual do erro do modelo. Quanto maior a distância da linha de melhor ajuste, maior o erro do modelo.

![\[Exemplo com linha linear de melhor ajuste, gráfico diferente real e previsto e erro de modelo.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### Gráfico residual padronizado
<a name="autopilot-model-insights-standardized-residual"></a>

Um gráfico de resíduos padronizado incorpora os seguintes termos estatísticos:

**`residual`**  
Um resíduo (bruto) mostra a diferença entre os valores reais e os previstos pelo seu modelo. Quanto maior a diferença, maior o valor residual.

**`standard deviation`**  
O desvio padrão é uma medida de como os valores variam de um valor médio. Um desvio padrão alto indica que muitos valores são muito diferentes de seu valor médio. Um desvio padrão baixo indica que muitos valores estão próximos do valor médio.

**`standardized residual`**  
Um resíduo padronizado divide os resíduos brutos por seu desvio padrão. Os resíduos padronizados têm unidades de desvio padrão e são úteis para identificar valores discrepantes nos dados, independentemente da diferença na escala dos resíduos brutos. Se um resíduo padronizado for muito menor ou maior do que os outros resíduos padronizados, isso indica que o modelo não está se ajustando bem a essas observações.

O gráfico de resíduos padronizado mede a força da diferença entre os valores observados e esperados. O valor real previsto é exibido no eixo x. Um ponto com um valor maior que um valor absoluto de 3 é comumente considerado um valor atípico.

O gráfico de exemplo a seguir mostra que um grande número de resíduos padronizados está agrupado em torno de 0 no eixo horizontal. Os valores próximos de zero indicam que o modelo está se ajustando bem a esses pontos. Os pontos na parte superior e inferior do gráfico não são bem previstos pelo modelo.

![\[Exemplo de gráfico de resíduos padronizado do Amazon SageMaker Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### Histograma residual
<a name="autopilot-model-insights-residual-histogram"></a>

Um histograma residual incorpora os seguintes termos estatísticos:

**`residual`**  
Um resíduo (bruto) mostra a diferença entre os valores reais e os previstos pelo seu modelo. Quanto maior a diferença, maior o valor residual.

**`standard deviation`**  
O desvio padrão é uma medida de quanto os valores variam de um valor médio. Um desvio padrão alto indica que muitos valores são muito diferentes de seu valor médio. Um desvio padrão baixo indica que muitos valores estão próximos do valor médio.

**`standardized residual`**  
Um resíduo padronizado divide os resíduos brutos por seu desvio padrão. Resíduos padronizados têm unidades de desvio padrão. Eles são úteis para identificar valores discrepantes nos dados, independentemente da diferença na escala dos resíduos brutos. Se um resíduo padronizado for muito menor ou maior do que os outros resíduos padronizados, isso indicaria que o modelo não está se ajustando bem a essas observações.

**`histogram`**  
Um histograma é um gráfico que mostra a frequência com que um valor ocorreu.

O histograma residual mostra a distribuição dos valores residuais padronizados. Um histograma distribuído em forma de sino e centrado em zero indica que o modelo não superestima ou subestima sistematicamente qualquer intervalo específico de valores alvo.

No gráfico a seguir, os valores residuais padronizados indicam que o modelo está se ajustando bem aos dados. Se o gráfico mostrasse valores distantes do valor central, isso indicaria que esses valores não se encaixam bem no modelo.

![\[Valor residual padronizado próximo de zero, indicando que o modelo se ajusta bem aos dados.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# Cadernos do Autopilot gerados para gerenciar tarefas de AutoML
<a name="autopilot-automate-model-development-notebook-output"></a>

O Amazon SageMaker Autopilot gerencia as principais tarefas em um processo automático de aprendizado de máquina (AutoML) usando uma tarefa do AutoML. A tarefa do AutoML cria três relatórios baseados em cadernos que descrevem o plano que o Autopilot segue para gerar modelos candidatos.

Um modelo candidato consiste em um par (pipeline, algoritmo). Primeiro, há um caderno de **exploração de dados**, que descreve o que o Autopilot aprendeu sobre os dados fornecidos por você. Segundo, há um caderno de **definição de candidatos**, que usa as informações sobre os dados para gerar candidatos. Terceiro, um relatório de **insights do modelo** que pode ajudar a detalhar as características de desempenho do melhor modelo no leaderboard de um experimento do Autopilot.

**Topics**
+ [Relatório de exploração de dados do Autopilot](autopilot-data-exploration-report.md)
+ [Encontre e execute o caderno de definição do candidato](autopilot-candidate-generation-notebook.md)

Você pode executar esses notebooks no Amazon SageMaker AI ou localmente, se tiver instalado o SDK do [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Você pode compartilhar os cadernos como qualquer outro notebook SageMaker Studio Classic. Os cadernos são criados para você realizar experimentos. Por exemplo, é possível editar os seguintes itens nos cadernos:
+ Os pré-processadores usados nos dados 
+ A quantidade de execuções de otimização de hiperparâmetros (HPO) e seu paralelismo
+ Os algoritmos para tentar
+ Os tipos de instância usados para os trabalhos de HPO
+ Intervalos de hiperparâmetros

Modificações no caderno de definição de candidatos são incentivadas como uma ferramenta de aprendizado. Com essa capacidade, você aprende como as decisões tomadas durante o processo de machine learning impactam seus resultados. 

**nota**  
Ao executar os cadernos em sua instância padrão, você incorre em custos de linha de base. No entanto, quando você executa trabalhos de HPO no caderno do candidato, esses trabalhos usam recursos de computação adicionais que geram custos adicionais. 

# Relatório de exploração de dados do Autopilot
<a name="autopilot-data-exploration-report"></a>

O Amazon SageMaker Autopilot limpa e pré-processa automaticamente seu conjunto de dados. Dados de alta qualidade melhoram a eficiência do machine learning e produzem modelos que fazem predições mais precisas. 

Há problemas com conjuntos de dados fornecidos pelo cliente que não podem ser corrigidos automaticamente sem o benefício de algum conhecimento do domínio. Grandes valores discrepantes na coluna de destino para problemas de regressão, por exemplo, podem causar predições abaixo do ideal para valores não atípicos. Valores atípicos podem precisar ser removidos, dependendo do objetivo do modelo. Se uma coluna de destino for incluída acidentalmente como uma dos atributos de entrada, o modelo final será validado adequadamente, mas terá pouco valor para predições futuras. 

Para ajudar os clientes a descobrir esse tipo de problema, o Autopilot fornece um relatório de exploração de dados que contém informações sobre possíveis problemas com seus dados. O relatório também sugere como lidar com os problemas.

Um caderno de exploração de dados contendo o relatório é gerado para cada trabalho do Autopilot. O relatório é armazenado em um bucket do Amazon S3 e pode ser acessado a partir do seu caminho de saída. O caminho do relatório de exploração de dados geralmente segue o padrão a seguir.

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

A localização do notebook de exploração de dados pode ser obtida na API do Autopilot usando a resposta da [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)operação, que é armazenada em [DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation). 

Ao executar o Autopilot a partir do SageMaker Studio Classic, você pode abrir o relatório de exploração de dados usando as seguintes etapas:

1. Escolha o ícone **Início** no *painel ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/icons/house.png) de navegação esquerdo* para ver o menu de navegação de nível superior do **Amazon SageMaker Studio Classic**.

1. Selecione o cartão **AutoML** na área de trabalho principal. Isso abre uma nova guia do **Autopilot**.

1. Na seção **Nome**, selecione o job do Autopilot que possui o caderno de exploração de dados que você deseja examinar. Isso abre uma nova guia de **trabalhos do Autopilot**.

1. Selecione **Abrir caderno de exploração de dados** na seção superior direita da guia de **tarefas do Autopilot**.

O relatório de exploração de dados é gerado a partir de seus dados antes do início do processo de treinamento. Isso permite que você interrompa os trabalhos do Autopilot que podem resultar em resultados sem sentido. Da mesma forma, você pode lidar com quaisquer problemas ou melhorias em seu conjunto de dados antes de executar novamente o Autopilot. Dessa forma, você pode utilizar sua expertise de domínio para aprimorar manualmente a qualidade dos dados antes de treinar um modelo em um conjunto de dados mais bem curado.

O relatório de dados contém apenas markdown estática e pode ser aberto em qualquer ambiente Jupyter. O caderno que contém o relatório pode ser convertido em outros formatos, como PDF ou HTML. Para obter mais informações sobre conversões, consulte [Usando o script nbconvert para converter cadernos Jupyter](https://nbconvert.readthedocs.io/en/latest/usage.html ) em outros formatos.

**Topics**
+ [Resumo do conjunto de dados](#autopilot-data-exploration-report-dataset-summary)
+ [Análise do destino](#autopilot-data-exploration-report-target-analysis)
+ [Exemplo de dados](#autopilot-data-exploration-report-data-sample)
+ [Linhas duplicadas](#autopilot-data-exploration-report-duplicate-rows)
+ [Correlações entre colunas](#autopilot-data-exploration-report-cross-column-correlations)
+ [Linhas anômalas](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [Valores ausentes, cardinalidade e estatística descritiva](#autopilot-data-exploration-report-description-statistics-and-values)

## Resumo do conjunto de dados
<a name="autopilot-data-exploration-report-dataset-summary"></a>

Este **resumo do conjunto de dados** fornece as principais estatísticas que caracterizam seu conjunto de dados, incluindo o número de linhas, colunas, porcentagem de linhas duplicadas e valores de destino ausentes. O objetivo é fornecer um alerta rápido quando houver um problema com seu conjunto de dados que o Amazon SageMaker Autopilot detectou e que provavelmente exigirá sua intervenção. As informações são apresentadas como avisos classificados como de gravidade “alta” ou “baixa”. A classificação depende do nível de confiança de que o problema afetará negativamente o desempenho do modelo.

As informações de gravidade alta e baixa aparecem no resumo como pop-ups. Para a maioria das informações, são oferecidas recomendações sobre como confirmar se há um problema com o conjunto de dados que requer sua atenção. Também são fornecidas propostas sobre como resolver os problemas.

O Autopilot fornece estatísticas adicionais sobre valores ausentes ou inválidos no destino em nosso conjunto de dados para ajudar a detectar outros problemas que podem não ser capturados pelos insights de alta gravidade. Um número inesperado de colunas de um determinado tipo pode indicar que algumas colunas que você deseja usar podem estar ausentes do conjunto de dados. Também pode indicar que houve um problema com a forma como os dados foram preparados ou armazenados. A correção desses problemas de dados trazidos à sua atenção pelo Autopilot pode melhorar o desempenho dos modelos de machine learning treinados em seus dados. 

Os insights de alta gravidade são mostrados na seção de resumo e em outras seções relevantes do relatório. Geralmente, são fornecidos exemplos de insights de gravidade baixa e alta, dependendo da seção do relatório de dados.

## Análise do destino
<a name="autopilot-data-exploration-report-target-analysis"></a>

Vários insights de gravidade baixa e alta são mostrados nesta seção relacionados à distribuição de valores na coluna de destino. Verifique se a coluna de destino contém os valores corretos. Valores incorretos na coluna de destino provavelmente resultarão em um modelo de machine learning que não atende à finalidade comercial pretendida. Vários insights de dados de gravidade baixa e alta estão presentes nesta seção. Aqui estão alguns exemplos:
+ **Valores de destino atípicos** - Distribuição de destinos distorcida ou incomum para regressão, como destinos com cauda pesada.
+ **Cardinalidade destino alta ou baixa** - Número infrequente de rótulos de classe ou um grande número de classes exclusivas para classificação.

Para os tipos de problemas de regressão e classificação, valores inválidos, como infinito numérico, `NaN` ou espaço vazio na coluna de destino, aparecem. Dependendo do tipo de problema, diferentes estatísticas do conjunto de dados são apresentadas. Uma distribuição dos valores da coluna de destino para um problema de regressão permite verificar se a distribuição é a esperada. 

A captura de tela a seguir mostra um relatório de dados do Autopilot, que inclui estatísticas como média, mediana, mínimo, máximo e porcentagem de valores atípicos em seu conjunto de dados. A captura de tela também inclui um histograma mostrando a distribuição dos rótulos na coluna de destino. O histograma mostra os **valores da coluna de destino** no eixo horizontal e a **contagem** no eixo vertical. Uma caixa destaca a seção **Porcentagem de valores atípicos** da captura de tela para indicar onde essa estatística aparece.

![\[Relatório de dados do Autopilot sobre a distribuição dos valores da coluna de destino.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


Várias estatísticas são mostradas em relação aos valores de destino e sua distribuição. Se algum dos valores atípicos, valores inválidos ou porcentagens ausentes for maior que zero, esses valores serão exibidos para que você possa investigar por que seus dados contêm valores de destino inutilizáveis. Alguns valores de destino inutilizáveis são destacados como um aviso de visão de gravidade baixa. 

Na captura de tela a seguir, um símbolo ` foi adicionado acidentalmente à coluna de destino, o que impediu que o valor numérico do destino fosse analisado. Uma **visão de gravidade baixa: aparece o aviso “Valores de destino inválidos”.** O aviso neste exemplo indica que "0,14% dos rótulos na coluna de destino não puderam ser convertidos em valores numéricos. Os valores não numéricos mais comuns são: ["-3.8e-05", "-9-05", "-4.7e-05", "-1.4999999999999999e-05", "-4.3e-05"]. Isso geralmente indica que há problemas com a coleta ou o processamento de dados. O Amazon SageMaker Autopilot ignora todas as observações com uma etiqueta de destino inválida.”

![\[Os dados do Autopilot relatam um aviso de gravidade baixa sobre valores de destino inválidos.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


O Autopilot também fornece um histograma mostrando a distribuição dos rótulos para classificação. 

A captura de tela a seguir mostra um exemplo de estatísticas fornecidas para sua coluna de destino, incluindo o número de classes, valores ausentes ou não válidos. Um histograma com **Rótulo de destino** no eixo horizontal e **Frequência** no eixo vertical mostra a distribuição de cada categoria de rótulo.

![\[Os dados do Autopilot relatam alta cardinalidade para classificação.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**nota**  
Você pode encontrar definições de todos os termos apresentados nesta e em outras seções na seção **Definições** na parte inferior do caderno de relatórios.

## Exemplo de dados
<a name="autopilot-data-exploration-report-data-sample"></a>

O Autopilot apresenta uma amostra real de seus dados para ajudá-lo a identificar problemas com seu conjunto de dados. A tabela de amostra rola horizontalmente. Inspecione os dados da amostra para verificar se todas as colunas necessárias estão presentes no conjunto de dados. 

O Autopilot também calcula uma medida do poder de predição, que pode ser usada para identificar uma relação linear ou não linear entre um atributo e a variável destino. Um valor de `0` indica que o atributo não tem valor preditivo na previsão da variável destino. Um valor de `1` indica o maior poder preditivo para a variável destino. Para obter mais informações sobre poder preditivo, consulte a seção **Definições**. 

**nota**  
Não é recomendável usar o poder de predição como substituto da importância do atributo. Use-o somente se tiver certeza de que o poder de predição é uma medida apropriada para seu caso de uso.

A captura de tela a seguir mostra um exemplo de amostra de dados. A linha superior contém o poder de predição de cada coluna em seu conjunto de dados. A segunda linha contém o tipo de dados de coluna. As linhas subsequentes contêm os rótulos. As colunas contêm a coluna de destino seguida por cada coluna de atributo. Cada coluna de atributo tem um poder de predição associado, destacado nesta captura de tela, com uma caixa. Neste exemplo, a coluna que contém o atributo `x51` tem um poder preditivo de `0.68` para a variável `y` de destino. O atributo `x55` é um pouco menos preditivo com um poder de predição de `0.59`.

![\[Poder de predição da amostra de dados do relatório de dados do Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## Linhas duplicadas
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

Se houver linhas duplicadas no conjunto de dados, o Amazon SageMaker Autopilot exibirá uma amostra delas.

**nota**  
Não é recomendável balancear um conjunto de dados aumentando a amostragem antes de fornecê-lo ao Autopilot. Isso pode resultar em pontuações de validação imprecisas para os modelos treinados pelo Autopilot, e os modelos produzidos podem ficar inutilizáveis.

## Correlações entre colunas
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

O Autopilot usa o coeficiente de correlação de Pearson, uma medida de correlação linear entre dois atributos, para preencher uma matriz de correlação. Na matriz de correlação, os atributos numéricos são plotadas nos eixos horizontal e vertical, com o coeficiente de correlação de Pearson traçado em suas interseções. Quanto maior a correlação entre dois atributos, maior o coeficiente, com um valor máximo de `|1|`.
+ Um valor de `-1` indica que os atributos estão perfeitamente correlacionados negativamente.
+ Um valor de `1`, que ocorre quando um atributo está correlacionado consigo mesmo, indica uma correlação positiva perfeita.

Você pode usar as informações na matriz de correlação para remover atributos altamente correlacionados. Um número menor de atributos reduz as chances de sobreajuste de um modelo e pode reduzir os custos de produção de duas maneiras. Isso diminui o runtime do Autopilot necessário e, para alguns aplicações, pode tornar os procedimentos de coleta de dados mais baratos. 

A captura de tela a seguir mostra um exemplo de uma matriz de correlação entre `7` atributos. Cada atributo é exibido em uma matriz nos eixos horizontal e vertical. O coeficiente de correlação de Pearson é exibido na interseção entre dois atributos. Cada interseção de atributos tem um tom de cor associado a ela. Quanto maior a correlação, mais escuro é o tom. Os tons mais escuros ocupam a diagonal da matriz, onde cada atributo está correlacionado consigo mesmo, representando uma correlação perfeita.

![\[Matriz de correlação cruzada de dados do relatório de dados do Autopilot.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## Linhas anômalas
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

O Amazon SageMaker Autopilot detecta quais linhas em seu conjunto de dados podem ser anômalas. Em seguida, atribui uma pontuação de anomalia a cada linha. As linhas com pontuações negativas de anomalia são consideradas anômalas. 

A captura de tela a seguir mostra a saída de uma análise do Autopilot para linhas contendo anomalias. Uma coluna contendo uma pontuação anômala aparece ao lado das colunas do conjunto de dados de cada linha.

![\[Conjunto de dados do Autopilot com linhas anômalas, mostrando pontuações negativas de anomalias.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## Valores ausentes, cardinalidade e estatística descritiva
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

O Amazon SageMaker Autopilot examina e relata as propriedades das colunas individuais do seu conjunto de dados. Em cada seção do relatório de dados que apresenta essa análise, o conteúdo é organizado em ordem. Isso é para que você possa verificar primeiro os valores mais “suspeitos”. Usando essas estatísticas, você pode melhorar o conteúdo de colunas individuais e melhorar a qualidade do modelo produzido pelo Autopilot.

O Autopilot calcula várias estatísticas sobre os valores categóricos nas colunas que os contêm. Isso inclui o número de entradas exclusivas e, para texto, o número de palavras exclusivas.

O Autopilot calcula várias estatísticas padrão sobre os valores numéricos nas colunas que os contêm. A imagem a seguir mostra essas estatísticas, incluindo a média, a mediana, os valores mínimo e máximo e as porcentagens dos tipos numéricos e dos valores discrepantes. 

![\[Os dados do Autopilot relatam estatísticas em colunas com valores numéricos.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# Encontre e execute o caderno de definição do candidato
<a name="autopilot-candidate-generation-notebook"></a>

O caderno de definição de candidatos contém cada etapa de pré-processamento sugerida, o algoritmo e os intervalos de hiperparâmetros. 

Você pode escolher qual candidato treinar e ajustar de duas maneiras. A primeira, executando seções do caderno. A segunda, executando o caderno inteiro para otimizar todos os candidatos e identificar o melhor candidato. Se você executar o caderno inteiro, somente o melhor candidato será exibido após a conclusão do trabalho. 

Para executar o Autopilot a partir do SageMaker Studio Classic, abra o caderno de definição do candidato seguindo estas etapas:

1. Escolha o ícone **Início** no painel ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/studio/icons/house.png) de navegação esquerdo para ver o menu de navegação de nível superior do **Amazon SageMaker Studio Classic**.

1. Selecione o cartão **AutoML** na área de trabalho principal. Isso abre uma nova guia do **Autopilot**.

1. Na seção **Nome**, selecione o trabalho do Autopilot que possui o caderno de exploração de dados que você deseja examinar. Isso abre uma nova guia de **trabalhos do Autopilot**.

1. Escolha **Abrir caderno de geração de candidatos** na seção superior direita da guia de **tarefas do Autopilot**. Isso abre uma nova prévia somente para leitura do **Amazon SageMaker Autopilot Candidate** Definition Notebook.

Para executar o caderno de definição de candidato, siga estas etapas:

1. Escolha **Importar caderno** no canto superior direito da guia **Amazon SageMaker Autopilot Candidate Definition Notebook**. Isso abre uma guia para configurar um novo ambiente de caderno para executar o caderno.

1. Selecione uma SageMaker **imagem** existente ou use uma **imagem personalizada**. 

1. Selecione um **kernel**, um **tipo de instância** e um script de **inicialização** opcional.

Agora você pode executar o caderno nesse novo ambiente.

# Configurar a saída de inferência em contêineres gerados
<a name="autopilot-automate-model-development-container-output"></a>

O Autopilot gera uma lista [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) ordenada. Isso pode ser usado para criar um modelo a ser implantado em um pipeline de machine learning. Esse modelo pode ser usado para hospedagem e inferência online. 

Os clientes podem listar as definições de contêiner de inferência com a API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html). A lista de definições de contêiner de inferência que representam o melhor candidato também está disponível na resposta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html).

## Definições de contêiner de inferência para tipos de problemas de regressão e classificação
<a name="autopilot-problem-type-container-output"></a>

O Autopilot gera contêineres de inferência específicos para o [modo de treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) e o [tipo de problema](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types) do trabalho.

### Definições de contêiner para o modo de otimização de hiperparâmetros (HPO)
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **Regressão**: o HPO gera dois contêineres:

  1. Um contêiner de engenharia de atributos que transforma os atributos originais em atributos nos quais os algoritmos de regressão podem treinar.

  1. Um contêiner de algoritmo que transforma atributos e gera uma pontuação de regressão para o conjunto de dados.
+ **Classificação**: O HPO gera três contêineres:

  1. Um contêiner de engenharia de atributos que transforma os atributos originais em atributos nos quais os algoritmos de classificação podem treinar.

  1. Um contêiner de algoritmo que gera o `predicted_label` com a maior probabilidade. Esse contêiner também pode produzir as várias probabilidades associadas aos resultados da classificação na resposta de inferência.

  1. Um contêiner de engenharia de atributos que realiza o pós-processamento da predição do algoritmo. Por exemplo, ele pode realizar uma transformação inversa na etiqueta prevista e alterá-la para a etiqueta original. 

### Definições de contêiner para o modo de agrupamento
<a name="autopilot-problem-type-container-output-ensemble"></a>

No modo de agrupamento, os tipos de problemas de regressão e classificação têm apenas um contêiner de inferência. Esse contêiner de inferência transforma os atributos e gera as predições com base no tipo de problema. 

## Respostas de inferência por tipo de problema
<a name="autopilot-problem-type-inference-response"></a>

### Respostas de inferência para modelos de classificação
<a name="autopilot-problem-type-inference-response-classification"></a>

Para contêineres de inferência de classificação, você pode selecionar o conteúdo da resposta de inferência usando quatro chaves predefinidas:
+ `predicted_label`: O rótulo com a maior probabilidade de prever o rótulo correto, conforme determinado pelo Autopilot.
+ `probability`: 
  + **Modelos HPO:** a probabilidade da `True` classe para classificação binária. A probabilidade de `predicted_label` para a classificação multiclasse.
  + **Modelos de conjunto:** a probabilidade de `predicted_label` para a classificação binária e multiclasse.
+ `probabilities`: A lista de probabilidades para todas as classes correspondentes.
+ `labels`: A lista de todos os rótulos.

Por exemplo, para um problema de classificação binária, se você passar as chaves de resposta de inferência `['predicted_label', 'probability', 'probabilities', 'labels']` e a resposta de saída aparecer como `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]`, interprete-a da seguinte forma:

1. `predicted_label` é igual a `1` porque o rótulo "1" tem uma probabilidade maior (`0.9` neste caso).

1. Para modelos HPO, `probability` é igual a `0.1` qual é a probabilidade da `positive_class` (`0` neste caso) selecionada pelo Autopilot.

   Para modelos de conjunto, é `probability` igual a `0.9` qual é a probabilidade do `predicted_label`.

1. `probabilities` lista o `probability` de cada etiqueta em `labels`.

1. `labels` são os rótulos exclusivos no conjunto de dados, em que o segundo rótulo (“0” nesse caso) é o `positive_class` selecionado pelo Autopilot.

Por padrão, os contêineres de inferência são configurados para gerar somente o `predicted_label`. Para selecionar conteúdo adicional de inferência, você pode atualizar o `inference_response_keys` parâmetro para incluir até essas três variáveis de ambiente:
+ `SAGEMAKER_INFERENCE_SUPPORTED`: isso é configurado para fornecer dicas sobre o conteúdo que cada contêiner é compatível com.
+ `SAGEMAKER_INFERENCE_INPUT`: isso deve ser definido para as chaves que o contêiner espera na carga útil de entrada.
+ `SAGEMAKER_INFERENCE_OUTPUT`: deve ser preenchido com o conjunto de chaves que o contêiner gera.

### Respostas de inferência para modelos de classificação no modo HPO
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

Esta seção mostra como configurar a resposta de inferência de modelos de classificação usando o modo de otimização de hiperparâmetros (HPO).

Para escolher o conteúdo da resposta de inferência no modo HPO: adicione as `SAGEMAKER_INFERENCE_INPUT` variáveis `SAGEMAKER_INFERENCE_OUTPUT` e ao segundo e terceiro contêineres que são gerados no modo HPO para problemas de classificação.

As chaves compatíveis com o segundo contêiner (algoritmo) são predicted\$1label, probability e probabilities. Observe que `labels` isso não foi adicionado deliberadamente `SAGEMAKER_INFERENCE_SUPPORTED`.

As chaves compatíveis com o terceiro contêiner do modelo de classificação são `predicted_label`, `labels`, `probability` e `probabilities`. Portanto, o `SAGEMAKER_INFERENCE_SUPPORTED` ambiente inclui os nomes dessas chaves.

O exemplo de código a seguir atualiza a definição dos contêineres de inferência para receber `predicted_label` e `probability`.

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

O exemplo de código a seguir atualiza a definição dos contêineres de inferência para receber `predicted_label`, `probabilities` e `labels`. Não passe o `labels` para o segundo contêiner (o contêiner do algoritmo), pois ele é gerado pelo terceiro contêiner de forma independente. 

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

As seções dobráveis a seguir fornecem exemplos de código para AWS SDK para Python (Boto3) e para o SageMaker SDK para Python. Cada seção mostra como selecionar o conteúdo das respostas de inferência no modo HPO para o respectivo exemplo de código.

#### AWS SDK para Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### SageMaker SDK para Python
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### Respostas de inferência para modelos de classificação no modo de agrupamento
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

Esta seção mostra como configurar a resposta de inferência de modelos de classificação usando o modo de agrupamento. 

No **modo de agrupamento**, para escolher o conteúdo da resposta de inferência, atualize a variável de ambiente `SAGEMAKER_INFERENCE_OUTPUT`.

As chaves compatíveis com o contêiner do modelo de classificação são `predicted_label`, `labels`, `probability` e `probabilities`. Essas chaves estão incluídas no `SAGEMAKER_INFERENCE_SUPPORTED` ambiente.

Consulte o exemplo de código a seguir para atualizar a definição dos contêineres de inferência para receber `predicted_label` e `probability`.

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

A seção flexível a seguir fornece um exemplo de código para selecionar o conteúdo das respostas de inferência no modo de agrupamento. O exemplo usa AWS SDK para Python (Boto3).

#### AWS SDK para Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

A seção flexível a seguir fornece um exemplo de código idêntico ao exemplo do SageMaker SDK para Python para HPO. Está incluído para a sua conveniência.

#### SageMaker SDK para Python
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

O exemplo de código HPO a seguir usa o SageMaker SDK para Python.

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```