Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot

Os dados alimentam o aprendizado de máquina (ML); a qualidade dos dados tem um impacto direto na qualidade dos modelos de ML. Portanto, melhorar a qualidade dos dados e empregar as técnicas corretas de engenharia de recursos são essenciais para criar modelos de ML precisos. Os praticantes de ML muitas vezes iteram de forma tediosa a engenharia de recursos, a escolha de algoritmos e outros aspectos do ML em busca de modelos ideais que generalizem bem os dados do mundo real e forneçam os resultados desejados. Como a velocidade nos negócios é desproporcionalmente importante, esse processo extremamente tedioso e interativo pode levar a atrasos no projeto e perda de oportunidades de negócios.

Gerenciador de dados do Amazon SageMaker reduz o tempo para agregar e preparar dados para ML de semanas para minutos e Piloto automático do Amazon SageMaker cria, treina e ajusta automaticamente os melhores modelos de ML com base em seus dados. Com o Autopilot, você ainda mantém total controle e visibilidade de seus dados e modelo. Ambos os serviços foram desenvolvidos especificamente para tornar os profissionais de ML mais produtivos e acelerar o tempo de retorno.

O Data Wrangler agora oferece uma experiência unificada, permitindo que você prepare dados e treine perfeitamente um modelo de ML no Autopilot. Com esse recurso recém-lançado, agora você pode preparar seus dados no Data Wrangler e iniciar facilmente experimentos do Autopilot diretamente da interface de usuário do Data Wrangler. Com apenas alguns cliques, você pode criar, treinar e ajustar automaticamente modelos de ML, tornando mais fácil empregar técnicas de engenharia de recursos de última geração, treinar modelos de ML de alta qualidade e obter insights de seus dados mais rapidamente.

Nesta postagem, discutimos como você pode usar essa nova experiência integrada no Data Wrangler para analisar conjuntos de dados e criar facilmente modelos de ML de alta qualidade no Autopilot.

Visão geral do conjunto de dados

Os índios Pima são um grupo indígena que vive no México e Arizona, EUA. Casos mostram os índios Pima como um grupo populacional de alto risco para diabetes mellitus. Prever a probabilidade de risco e suscetibilidade de um indivíduo a uma doença crônica como o diabetes é uma tarefa importante para melhorar a saúde e o bem-estar desse grupo minoritário muitas vezes sub-representado.

Usamos o Conjunto de dados público Pima Indian Diabetes para prever a suscetibilidade de um indivíduo ao diabetes. Focamos na nova integração entre Data Wrangler e Autopilot para preparar dados e criar automaticamente um modelo de ML sem escrever uma única linha de código.

O conjunto de dados contém informações sobre as mulheres indianas Pima com 21 anos ou mais e inclui várias variáveis ​​preditoras médicas (independentes) e uma variável alvo (dependente), Resultado. O gráfico a seguir descreve as colunas em nosso conjunto de dados.

Coluna Nome Descrição
Gravidez O número de vezes que está grávida
Glicose Concentração de glicose plasmática em um teste oral de tolerância à glicose dentro de 2 horas
Pressão arterial Pressão arterial diastólica (mm Hg)
Espessura da Pele Espessura da dobra cutânea do tríceps (mm)
Insulina insulina sérica de 2 horas (mu U/ml)
IMC Índice de massa corporal (peso em kg/(altura em m)^2)
Diabetes Pedigree Função hereditária do diabetes
Idade Idade em anos
Resultado A variável de destino

O conjunto de dados contém 768 registros, com 9 recursos no total. Armazenamos este conjunto de dados em Bucket de armazenamento simples da Amazon (Amazon S3) como um arquivo CSV e, em seguida, importe o CSV diretamente para um fluxo do Data Wrangler do Amazon S3.

Visão geral da solução

O diagrama a seguir resume o que realizamos neste post.[KT1]

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Cientistas de dados, médicos e outros especialistas da área médica fornecem dados de pacientes com informações sobre níveis de glicose, pressão arterial, índice de massa corporal e outros recursos usados ​​para prever a probabilidade de ter diabetes. Com o conjunto de dados no Amazon S3, importamos o conjunto de dados para o Data Wrangler para realizar análise exploratória de dados (EDA), criação de perfil de dados, engenharia de recursos e divisão do conjunto de dados em treinamento e teste para construção e avaliação de modelos.

Em seguida, usamos a nova integração de recursos do Autopilot para criar rapidamente um modelo diretamente da interface do Data Wrangler. Escolhemos o melhor modelo do Autopilot com base no modelo com a pontuação F-beta mais alta. Depois que o Autopilot encontra o melhor modelo, executamos um Transformação em lote do SageMaker job no conjunto de teste (holdout) com os artefatos de modelo do melhor modelo para avaliação.

Especialistas médicos podem fornecer novos dados ao modelo validado para obter uma previsão para ver se um paciente provavelmente terá diabetes. Com esses insights, os especialistas médicos podem iniciar o tratamento precocemente para melhorar a saúde e o bem-estar das populações vulneráveis. Os especialistas médicos também podem explicar a previsão de um modelo referenciando os detalhes do modelo no Autopilot porque eles têm total visibilidade da explicabilidade, desempenho e artefatos do modelo. Essa visibilidade, além da validação do modelo a partir do conjunto de testes, dá aos especialistas médicos maior confiança na capacidade preditiva do modelo.

Orientamos você pelas seguintes etapas de alto nível.

  1. Importe o conjunto de dados do Amazon S3.
  2. Execute EDA e perfis de dados com o Data Wrangler.
  3. Execute a engenharia de recursos para lidar com valores discrepantes e valores ausentes.
  4. Divida os dados em conjuntos de treinamento e teste.
  5. Treine e construa um modelo com o piloto automático.
  6. Teste o modelo em uma amostra de validação com um notebook SageMaker.
  7. Analise a validação e o desempenho do conjunto de testes.

Pré-requisitos

Conclua as seguintes etapas de pré-requisito:

  1. Carregar o conjunto de dados para um bucket do S3 de sua escolha.
  2. Certifique-se de ter as permissões necessárias. Para obter mais informações, consulte Introdução ao Data Wrangler.
  3. Configure um domínio do SageMaker configurado para usar o Data Wrangler. Para obter instruções, consulte Integrado ao domínio do Amazon SageMaker.

Importe seu conjunto de dados com o Data Wrangler

Você pode integrar um fluxo de dados do Data Wrangler em seus fluxos de trabalho de ML para simplificar e agilizar o pré-processamento de dados e a engenharia de recursos usando pouca ou nenhuma codificação. Conclua as seguintes etapas:

  1. Crie um novo Fluxo do Data Wrangler.

Se esta é a primeira vez que você abre o Data Wrangler, pode ser necessário aguardar alguns minutos para que ele esteja pronto.

  1. Escolha o conjunto de dados armazenado no Amazon S3 e importe-o para o Data Wrangler.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Depois de importar o conjunto de dados, você deverá ver o início de um fluxo de dados na interface do usuário do Data Wrangler. Agora você tem um diagrama de fluxo.

  1. Escolha o sinal de mais ao lado de Tipos de dados e escolha Editar para confirmar que o Data Wrangler inferiu automaticamente os tipos de dados corretos para suas colunas de dados.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Se os tipos de dados não estiverem corretos, você poderá modificá-los facilmente por meio da interface do usuário. Se várias fontes de dados estiverem presentes, você poderá juntá-las ou concatená-las.

Agora podemos criar uma análise e adicionar transformações.

Realize uma análise exploratória de dados com o relatório de insights de dados

A análise exploratória de dados é uma parte crítica do fluxo de trabalho de ML. Podemos usar o novo relatório de insights de dados do Data Wrangler para entender melhor o perfil e a distribuição de nossos dados. O relatório inclui estatísticas resumidas, avisos de qualidade de dados, insights de coluna de destino, um modelo rápido e informações sobre linhas anômalas e duplicadas.

  1. Escolha o sinal de mais ao lado de Tipos de dados e escolha Obtenha insights de dados.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Target coluna, escolha Resultado.
  2. Escolha Tipo de problemae (opcionalmente) selecione Classificação.
  3. Escolha Crie.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Os resultados mostram um resumo dos dados com as estatísticas do conjunto de dados.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Também podemos visualizar a distribuição das linhas rotuladas com um histograma, uma estimativa da qualidade prevista esperada do modelo com o recurso de modelo rápido e uma tabela de resumo de recursos.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Não entramos nos detalhes da análise do relatório de insights de dados; referir-se Acelere a preparação de dados com qualidade de dados e insights no Amazon SageMaker Data Wrangler para obter detalhes adicionais sobre como você pode usar o relatório de insights de dados para acelerar suas etapas de preparação de dados.

Executar engenharia de recursos

Agora que criamos o perfil e analisamos a distribuição de nossas colunas de entrada em alto nível, a primeira consideração para melhorar a qualidade de nossos dados pode ser lidar com valores ausentes.

Por exemplo, sabemos que zeros (0) para o Insulin coluna representam valores ausentes. Poderíamos seguir a recomendação de substituir os zeros por NaN. Mas em um exame mais detalhado, descobrimos que o valor mínimo é 0 para outras colunas, como Glucose, BloodPressure, SkinThickness e BMI. Precisamos de uma maneira de lidar com valores ausentes, mas precisamos ser sensíveis a colunas com zeros como dados válidos. Vamos ver como podemos consertar isso.

No Detalhes do Recurso seção, o relatório levanta uma Valor ausente disfarçado aviso para o recurso Insulin.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Porque zeros no Insulin coluna estão de fato faltando dados, usamos o Converter regex em ausente transform para transformar valores zero em vazios (valores ausentes).

  1. Escolha o sinal de mais ao lado de Data tipos e escolha Adicionar transformar.
  2.  Escolha Pesquisar e editar.
  3. Escolha Transformar, escolha Converter regex em ausente.
  4. Escolha Entrada colunas, escolha as colunas Insulin, Glucose, BloodPressure, SkinThickness e BMI.
  5. Escolha padrão, entrar 0.
  6. Escolha visualização e Adicionar para salvar esta etapa.

As 0 entradas abaixo Insulin, Glucose, BloodPressure, SkinThickness e BMI agora estão faltando valores.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O Data Wrangler oferece algumas outras opções para corrigir valores ausentes.

  1. Lidamos com valores ausentes imputando a mediana aproximada para o Glucose coluna.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Também queremos garantir que nossos recursos estejam na mesma escala. Não queremos acidentalmente dar mais peso a um determinado recurso só porque eles contêm um intervalo numérico maior. Normalizamos nossos recursos para fazer isso.

  1. Adicionar um novo Processo numérico transformar e escolher Valores de escala.
  2. Escolha Scaler, escolha Escalonador mínimo-máximo.
  3. Escolha Colunas de entrada, escolha as colunas Pregnancies, BloodPressure, Glucose, SkinThickness, Insulin, BMI e Age.
  4. Conjunto min para 0 e Max para 1.

Isso garante que nossos recursos estejam entre os valores 0 e 1.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Agora que criamos alguns recursos, dividimos nosso conjunto de dados em treinamento e teste antes de construir um modelo.

Dividir dados em treinamento e teste

Na fase de construção do modelo do fluxo de trabalho de ML, você testa a eficácia do modelo executando previsões em lote. Você pode reservar um conjunto de dados de teste ou de validação para avaliação para ver o desempenho do seu modelo comparando as previsões com a verdade. Geralmente, se mais das previsões do modelo corresponderem ao true rótulos, podemos determinar que o modelo está funcionando bem.

Usamos o Data Wrangler para dividir nosso conjunto de dados para teste. Retemos 90% do nosso conjunto de dados para treinamento porque temos um conjunto de dados relativamente pequeno. Os 10% restantes do nosso conjunto de dados servem como conjunto de dados de teste. Usamos esse conjunto de dados para validar o modelo do Autopilot posteriormente neste post.

Dividimos nossos dados escolhendo o Dados divididos transformar e escolher Divisão aleatória como o método. Designamos 0.9 como a porcentagem de divisão para treinamento e 0.1 para teste.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Com a transformação de dados e as etapas de engenharia concluídas, agora estamos prontos para treinar um modelo.

Treinar e validar o modelo

Podemos usar a nova integração do Data Wrangler com o Autopilot para treinar diretamente um modelo da interface do usuário do fluxo de dados do Data Wrangler.

  1. Escolha o sinal de mais ao lado de Conjunto de dados e escolha Modelo de trem.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Localização do Amazon S3, especifique o local do Amazon S3 onde o SageMaker exporta seus dados.

O Autopilot usa esse local para treinar automaticamente um modelo, economizando seu tempo de definir o local de saída do fluxo do Data Wrangler e depois definir o local de entrada dos dados de treinamento do Autopilot. Isso torna a experiência mais perfeita.

  1. Escolha Exportações e treinar para iniciar a construção do modelo com o Autopilot.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O piloto automático seleciona automaticamente os locais de entrada e saída de dados de treinamento. Você só precisa especificar a coluna de destino e clicar Criar experimento para treinar seu modelo.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Teste o modelo em uma amostra de validação

Quando o piloto automático conclui o experimento, podemos visualizar os resultados do treinamento e explorar o melhor modelo.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Escolha Ver detalhes do modelo para o modelo desejado e, em seguida, escolha o Performance guia na página de detalhes do modelo.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A Performance A guia exibe vários testes de medição de modelo, incluindo uma matriz de confusão, a área sob a curva de precisão/recordação (AUCPR) e a área sob a curva característica de operação do receptor (ROC). Eles ilustram o desempenho geral de validação do modelo, mas não nos dizem se o modelo generalizará bem. Ainda precisamos executar avaliações em dados de testes não vistos para ver com que precisão o modelo prevê se um indivíduo terá diabetes.

Para garantir que o modelo generalize bem o suficiente, separamos a amostra de teste para amostragem independente. Podemos fazer isso na interface do usuário do fluxo do Data Wrangler.

  1.  Escolha o sinal de mais ao lado de Conjunto de dados, escolha Exportar parae escolha Amazon S3.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Especifique um caminho do Amazon S3.

Referimo-nos a esse caminho quando executamos a inferência em lote para validação na próxima seção.

  1. Crie um novo notebook SageMaker para realizar inferência em lote na amostra de validação e avaliar o desempenho do teste. Consulte o seguinte GitHub repo para uma caderno de amostra para executar a inferência em lote para validação.

Analise a validação e o desempenho do conjunto de testes

Quando a transformação em lote estiver concluída, criamos uma matriz de confusão para comparar os resultados reais e previstos do conjunto de dados de validação.

Vemos 23 verdadeiros positivos e 33 verdadeiros negativos de nossos resultados. No nosso caso, os verdadeiros positivos referem-se ao modelo que prediz corretamente um indivíduo como tendo diabetes. Em contraste, os verdadeiros negativos referem-se ao modelo que prediz corretamente um indivíduo como não tendo diabetes.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

No nosso caso, precisão e recall são métricas importantes. A precisão mede essencialmente todos os indivíduos com previsão de diabetes, quantos realmente têm diabetes? Em contraste, a recordação ajuda a medir todos os indivíduos que realmente têm diabetes, quantos foram previstos para ter diabetes? Por exemplo, você pode querer usar um modelo com alta precisão porque deseja tratar o maior número possível de indivíduos, especialmente se o primeiro estágio do tratamento não tiver efeito em indivíduos sem diabetes (estes são falsos positivos - aqueles rotulados como portadores da doença). quando na verdade não o fazem).

Também traçamos a área sob o gráfico da curva ROC (AUC) para avaliar os resultados. Quanto maior a AUC, melhor é o modelo na distinção entre as classes, que no nosso caso é o desempenho do modelo na distinção de pacientes com e sem diabetes.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Conclusão

Neste post, demonstramos como integrar seu processamento de dados, apresentando engenharia e construção de modelos usando o Data Wrangler e o Autopilot. Destacamos como você pode treinar e ajustar facilmente um modelo com o Autopilot diretamente da interface do usuário do Data Wrangler. Com esse recurso de integração, podemos construir rapidamente um modelo após concluir a engenharia de recursos, sem escrever nenhum código. Em seguida, referenciamos o melhor modelo do Autopilot para executar previsões em lote usando a classe AutoML com o SageMaker Python SDK.

Soluções de baixo código e AutoML, como Data Wrangler e Autopilot, eliminam a necessidade de ter um conhecimento profundo de codificação para criar modelos de ML robustos. Comece a usar o Data Wrangler hoje para experimentar como é fácil construir modelos de ML usando Piloto automático do SageMaker.


Sobre os autores

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Pedro Chung é arquiteto de soluções da AWS e tem paixão por ajudar os clientes a descobrir insights de seus dados. Ele vem construindo soluções para ajudar as organizações a tomar decisões baseadas em dados nos setores público e privado. Ele possui todas as certificações da AWS, bem como duas certificações do GCP. Ele gosta de café, cozinhar, manter-se ativo e passar tempo com sua família.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Pradeep Reddy é Gerente de Produto Sênior na equipe SageMaker Low/No Code ML, que inclui SageMaker Autopilot, SageMaker Automatic Model Tuner. Fora do trabalho, Pradeep gosta de ler, correr e se divertir com computadores do tamanho da palma da mão, como raspberry pi e outras tecnologias de automação residencial.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Arunprasath Shankar é arquiteto de soluções especialista em inteligência artificial e aprendizado de máquina (AI / ML) da AWS, ajudando clientes globais a dimensionar suas soluções de IA de maneira eficaz e eficiente na nuvem. Em seu tempo livre, Arun gosta de assistir filmes de ficção científica e ouvir música clássica.

Preparação unificada de dados e treinamento de modelos com Amazon SageMaker Data Wrangler e Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Srujan Gopu é um engenheiro de front-end sênior no SageMaker Low Code/No Code ML ajudando clientes de produtos Autopilot e Canvas. Quando não está programando, Srujan gosta de correr com seu cachorro Max, ouvir livros de áudio e desenvolver jogos de realidade virtual.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS