

# Trabalhar com transformações de machine learning
<a name="console-machine-learning-transforms"></a>

É possível usar o AWS Glue para criar transformações personalizadas de machine learning que podem ser usadas para limpar seus dados. É possível criar essas transformações ao criar um trabalho no console do AWS Glue. 

Para obter informações sobre como criar uma transformação de machine learning, consulte [Correspondência de registros com o FindMatches do AWS Lake Formation](machine-learning.md).

**Topics**
+ [Propriedades da transformação](#console-machine-learning-properties)
+ [Adicionar e editar transformações de machine learning](#console-machine-learning-transforms-actions)
+ [Visualizar detalhes da transformação](#console-machine-learning-transforms-details)
+ [Ensine transformações usando rótulos](#console-machine-learning-transforms-teaching-transforms)

## Propriedades da transformação
<a name="console-machine-learning-properties"></a>

Para visualizar uma transformação de machine learning existente, faça login no Console de gerenciamento da AWS e abra o console do AWS Glue em [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/). No painel de navegação em **Integração de dados e ETL**, escolha **Ferramentas de classificação de dados > Correspondência de registros**.

As propriedades de cada transformação:

**Nome da transformação**  
O nome exclusivo que você atribuiu à transformação ao criá-la.

**ID**  
Um identificador exclusivo da transformação. 

**Contagem de rótulos**  
O número de rótulos no arquivo de rotulamento fornecido para ajudar a ensinar a transformação. 

**Status**  
Indica se a transformação está **Ready** (Pronta) ou **Needs training** (Precisa de treinamento). Para executar uma transformação de machine learning com êxito em um trabalho, ela deve estar **Ready** (Pronta). 

**Criado**  
A data em que a transformação foi criada.

**Modificado**  
A data em que a transformação foi atualizada pela última vez.

**Descrição**  
A descrição fornecida para a transformação, se uma foi fornecida.

**AWS GlueVersão do **  
A versão do AWS Glue usado.

**ID da execução**  
O nome exclusivo que você atribuiu à transformação ao criá-la.

**Tipo de tarefa**  
O tipo de transformação de machine learning. Por exemplo, **Find matching records (Encontrar registros correspondentes)**.

**Status**  
Indica o status da execução da tarefa. Os status possíveis causas incluem:  
+ Starting
+ Executando
+ Parando
+ Interrompida
+ Bem-sucedida
+ Failed
+ Tempo limite

**Erro**  
Se o status for Falha, uma mensagem descrevendo o motivo da falha será exibida.

## Adicionar e editar transformações de machine learning
<a name="console-machine-learning-transforms-actions"></a>

 É possível visualizar, excluir, configurar e ensinar ou ajustar uma transformação no console do AWS Glue. Marque a caixa de seleção ao lado da transformação na lista, selecione **Action (Ação)** e escolha a ação que deseja realizar. 

### Criar uma nova transformação de ML
<a name="w2aac37c11c24c23c11b5"></a>

 Para adicionar uma nova transformação de machine learning, escolha **Criar transformação**. Siga as instruções no assistente **Adicionar trabalho**. Para obter mais informações, consulte [Correspondência de registros com o FindMatches do AWS Lake Formation](machine-learning.md). 

#### Etapa 1. Defina as propriedades da transformação.
<a name="w2aac37c11c24c23c11b5b7"></a>

1. Insira um nome e uma descrição (opcional).

1. Opcionalmente, defina a configuração de segurança. Consulte [Usar criptografia de dados com transformações de machine learning](#ml_transform_sec_config). 

1. Opcionalmente, defina as configurações de execução da tarefa. As configurações de execução de tarefas permitem que você personalize a forma como a tarefa é executada. Selecione o tipo de operador, o número de operadores, o tempo limite da tarefa (em minutos), o número de tentativas e a versão do AWS Glue.

1. Opcionalmente, defina as tags. Tags são rótulos que você pode atribuir a um recurso da AWS. Cada tag consiste em uma chave e um valor opcional. As tags podem ser usadas para pesquisar e filtrar os recursos ou monitorar os custos na AWS.

#### Etapa 2. Escolha a tabela e a chave primária.
<a name="w2aac37c11c24c23c11b5b9"></a>

1. Escolha o banco de dados e a tabela do catálogo do AWS Glue.

1. Escolha uma chave primária na tabela selecionada. A coluna da chave primária normalmente contém um identificador exclusivo para cada registro da fonte de dados. 

#### Etapa 3. Selecione as opções de ajuste.
<a name="w2aac37c11c24c23c11b5c11"></a>

1.  Em **Recuperação versus precisão**, escolha o valor de ajuste para ajustar a transformação de modo a favorecer a recuperação ou a precisão. Por padrão, **Balanceado** está selecionado, mas você pode optar por favorecer a recuperação ou a precisão, ou escolher **Personalizado** e inserir um valor entre 0,0 e 1,0 (inclusive). 

1.  Para **Menor custo versus precisão**, escolha o valor de ajuste para favorecer o menor custo ou a precisão, ou escolha **Personalizado** e insira um valor entre 0,0 e 1,0 (inclusive). 

1.  Em **Aplicação de correspondência**, escolha **Forçar a saída a corresponder aos rótulos** se quiser ensinar a transformação de ML forçando a saída a corresponder aos rótulos usados. 

#### Etapa 4: Revisar e criar.
<a name="w2aac37c11c24c23c11b5c13"></a>

1.  Revise as opções das etapas de 1 a 3. 

1.  Escolha **Editar** para qualquer etapa que precise ser modificada. Escolha **Criar transformação** para concluir o assistente de criação de transformação. 

### Usar criptografia de dados com transformações de machine learning
<a name="ml_transform_sec_config"></a>

Ao adicionar uma transformação de machine learning ao AWS Glue, você pode especificar opcionalmente uma configuração de segurança associada à origem dos dados ou ao destino dos dados. Se o bucket do Amazon S3 usado para armazenar os dados for criptografado com uma configuração de segurança, especifique a mesma configuração de segurança ao criar a transformação.

Você também pode optar por usar a criptografia do lado do servidor com o AWS KMS (SSE-KMS) para criptografar o modelo e os rótulos a fim de evitar que pessoas não autorizadas os inspecionem. Se você escolher essa opção, receberá uma solicitação para escolher uma AWS KMS key pelo nome, ou você poderá escolher **Enter a key ARN** (Inserir um ARN de chave). Se você optar por inserir o ARN para a chave do KMS, um segundo campo será exibido onde você poderá inserir o ARN da chave do KMS.

**nota**  
No momento, transformações de ML que usem uma chave de criptografia personalizada não são compatíveis com as seguintes regiões:  
Asia Pacific (Osaka) - `ap-northeast-3`

## Visualizar detalhes da transformação
<a name="console-machine-learning-transforms-details"></a>

### Visualizar as propriedades da transformação
<a name="console-machine-learning-transforms-details"></a>

A página de **propriedades da transformação** inclui os atributos da sua transformação. Ela mostra os detalhes sobre a definição da transformação, incluindo o seguinte:
+ **Transform name (Nome da transformação)** mostra o nome da transformação.
+ **Type (Tipo)** lista o tipo da transformação.
+ **Status** exibe se a transformação está pronta para ser usada em um script ou em uma tarefa.
+ **Force output to match labels (Forçar a saída para corresponder rótulos)** exibe se a transformação força a saída a corresponder os rótulos fornecidos pelo usuário.
+ **Spark version** (Versão do Spark) está relacionada à versão do AWS Glue que você escolheu em **Task run properties** (Propriedades de execução de tarefa) ao adicionar a transformação. O AWS Glue 1.0 e o Spark 2.4 são recomendados para a maioria dos clientes. Para obter mais informações, consulte [versões do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions).

### Abas Histórico, Estimativa de qualidade e Tags
<a name="w2aac37c11c24c23c13b5"></a>

 Os detalhes da transformação incluem as informações definidas quando ela foi criada. Para visualizar os detalhes de uma transformação, selecione a transformação na lista **Machine learning transforms (Transformações de machine learning)** e revise as informações das seguintes guias: 
+ Histórico
+ Estimar qualidade
+ Tags

#### Histórico
<a name="console-machine-learning-transforms-history"></a>

A guia **History (Histórico)** mostra o histórico de execução das tarefas da transformação. Vários tipos de tarefas são executadas para ensinar uma transformação. Para cada tarefa, as métricas de execução incluem o seguinte:
+ **Run ID (ID da execução)** é um identificador criado pelo AWS Glue para cada execução dessa tarefa.
+ **Task type (Tipo de tarefa)** mostra o tipo da tarefa executada.
+ **Status** mostra o êxito de cada tarefa listada com a execução mais recente na parte superior.
+ **Error (Erro)** mostra os detalhes de uma mensagem de erro se a execução apresentar falha.
+ **Start time (Hora de início)** mostra a data e a hora (hora local) em que a tarefa foi iniciada.
+ **Hora de término** mostra a data e a hora (hora local) em que a tarefa foi concluída.
+ **Logs** links para os logs gravados em `stdout` para esta execução de trabalho.

  O link **Logs** direciona você para o Amazon CloudWatch Logs. Nesse serviço, é possível visualizar os detalhes sobre as tabelas que foram criadas no AWS Glue Data Catalog e qualquer erro encontrado. Você pode gerenciar seu período de retenção de logs no console do CloudWatch. A retenção de log padrão é `Never Expire`. Para obter mais informações sobre como alterar o período de retenção, consulte [Alterar a retenção dos dados de log no CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) no *Manual do usuário do Amazon CloudWatch Logs*.
+ **Arquivo de rótulo** mostra um link para o Amazon S3 de um arquivo de rótulo gerado.

#### Estimar qualidade
<a name="console-machine-learning-transforms-metrics"></a>

 A guia **Estimate quality (Estimar qualidade)** mostra as métricas usadas para medir a qualidade da transformação. As estimativas são calculadas comparando as previsões de correspondência de transformação que usam um subconjunto dos dados rotulados com relação aos rótulos fornecidos. Essas estimativas são aproximadas. É possível invocar a execução de uma tarefa **Estimate quality (Estimar qualidade)** nessa guia.

A guia **Estimate quality (Estimar qualidade)** mostra as métricas da última execução de **Estimate quality (Estimar qualidade)**, incluindo as seguintes propriedades:
+ A**Area under the Precision-Recall curve (Área na curva de precisão-revocação)** é um único número que estima o limite máximo da qualidade geral da transformação. Ele é independente da escolha feita para o parâmetro de precisão-revocação. Valores mais altos indicam que você tem uma compensação de precisão-revocação mais atrativa. 
+ **Precision (Precisão)** estima a frequência de acertos da transformação ao prever uma correspondência.
+ **Recall upper limit (Limite máximo de revocação)** estima com que frequência a transformação prevê uma correspondência real.
+ **F1** estima a precisão da transformação entre 0 e 1, em que 1 é a maior precisão. Para obter mais informações, consulte [F1 score](https://en.wikipedia.org/wiki/F1_score) na Wikipédia.
+ A tabela **Column importance** (Importância da coluna) mostra os nomes das colunas e a pontuação de importância para cada uma. A importância da coluna ajuda você a entender como as colunas contribuem para o seu modelo, identificando quais colunas em seus registros estão sendo mais usadas para fazer a correspondência. Esses dados podem solicitar que você adicione ou altere seu conjunto de rótulos para aumentar ou diminuir a importância das colunas.

  A coluna Importance (Importância) fornece uma pontuação numérica para cada coluna, como um decimal não superior a 1,0.

Para obter informações sobre como entender as estimativas de qualidade com relação à qualidade verdadeira, consulte [Diferença entre estimativas de qualidade e qualidade de ponta a ponta (verdadeira)](#console-machine-learning-quality-estimates-true-quality).

Para obter mais informações sobre como ajustar a transformação, consulte [Ajustar transformações de machine learning no AWS Glue](add-job-machine-learning-transform-tuning.md).

#### Diferença entre estimativas de qualidade e qualidade de ponta a ponta (verdadeira)
<a name="console-machine-learning-quality-estimates-true-quality"></a>

O AWS Glue estima a qualidade da transformação apresentando ao modelo de machine learning interno vários pares de registros para os quais você forneceu rótulos correspondentes, mas que o modelo ainda não tinha visto. Essas estimativas de qualidade são uma função da qualidade do modelo de machine learning (que é influenciado pelo número de registros que você rotula para "ensinar" a transformação). A recuperação de ponta a ponta, ou *verdadeira* (que não é calculada automaticamente pela `ML transform`), também é influenciada pelo mecanismo de filtragem da `ML transform` que propõe uma ampla variedade de possíveis correspondências ao modelo de machine learning. 

É possível ajustar esse método de filtragem principalmente especificando o valor de ajuste como **Menor precisão de custos**. À medida que o valor de ajuste tende mais a favorecer a **Precisão**, o sistema faz uma busca mais detalhada e cara de pares de registros que podem ser correspondências. Mais pares de registros são alimentados no modelo de machine learning e a recuperação de ponta a ponta, ou verdadeira da `ML transform` se aproxima da métrica de recuperação estimada. Como resultado, as alterações na qualidade de ponta a ponta das correspondências resultantes de alterações na compensação de custo/precisão das correspondências normalmente não serão refletidas na estimativa de qualidade.

#### Tags
<a name="w2aac37c11c24c23c13b5c13"></a>

 Tags são rótulos que você pode atribuir a um recurso da AWS. Cada tag consiste em uma chave e um valor opcional. As tags podem ser usadas para pesquisar e filtrar os recursos ou monitorar os custos na AWS. 

## Ensine transformações usando rótulos
<a name="console-machine-learning-transforms-teaching-transforms"></a>

 Você pode ensinar a transformação de ML usando rótulos (exemplos) escolhendo **Ensinar a transformação** na página de detalhes da transformação de ML. Ao ensinar seu algoritmo de machine learning fornecendo exemplos (denominados rótulos), você pode escolher usar rótulos existentes ou criar um arquivo de rótulo. 

![\[A captura de tela mostra uma tela do assistente para Ensinar a transformação usando rótulos.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/machine-learning-teach-transform.png)

+  **Rótulagem**: se você tiver rótulos escolha **Eu tenho rótulos**. Se você não tiver rótulos, ainda poderá continuar na próxima etapa gerando de um arquivo de rótulo. 
+  **Gerar arquivo de rotulagem**: o AWS Glue extrai os registros dos dados de origem e sugere possíveis registros correspondentes. Você escolhe o bucket do Amazon S3 para armazenar o arquivo de rótulo gerado. Escolha **Gerar arquivo de rotulagem** para iniciar o processo. Quando terminar, escolha **Baixar arquivo de rotulagem**. O arquivo baixado terá uma coluna para rótulos que você poderá preencher com os rótulos. 
+  **Carregar rótulos do Amazon S3**: escolha o arquivo de rotulo completo do bucket do Amazon S3 em que o arquivo de rótulo está armazenado. Depois, escolha entre anexar os rótulos aos rótulos existentes ou substituir os rótulos existentes. Escolha **Carregar arquivo de rotulagem do Amazon S3**. 