Trabalhar com transformações de machine learning - AWS Glue

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á.

Trabalhar com transformações de machine learning

É 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.

Propriedades da transformação

Para visualizar uma transformação de machine learning existente, faça login no AWS Management Console e abra o console do AWS Glue em 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.

Versão do AWS Glue

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 (Falha)

  • Timeout (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

É 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

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

Etapa 1. Defina as propriedades da transformação.

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

  2. Opcionalmente, defina a configuração de segurança. Consulte Usar criptografia de dados com transformações de machine learning.

  3. 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.

  4. 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.

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

  2. 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.

  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).

  2. 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).

  3. 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.

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

  2. 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

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

Visualizar as propriedades da transformação

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.

Abas Histórico, Estimativa de qualidade e Tags

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 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 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 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:

  • AArea 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 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).

Para obter mais informações sobre como ajustar a transformação, consulte Ajustar transformações de machine learning no AWS Glue.

Diferença entre estimativas de qualidade e qualidade de ponta a ponta (verdadeira)

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

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

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.
  • 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.