Widget interativo de preparação de dados para notebooks com tecnologia Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Widget interativo de preparação de dados para notebooks desenvolvido pelo Amazon SageMaker Data Wrangler

De acordo com uma pesquisa de cientistas de dados de 2020 realizada pela Anaconda, a preparação de dados é uma das etapas críticas no aprendizado de máquina (ML) e nos fluxos de trabalho de análise de dados, e geralmente consome muito tempo para os cientistas de dados. Os cientistas de dados gastam cerca de 66% de seu tempo em tarefas de preparação e análise de dados, incluindo carregamento (19%), limpeza (26%) e visualização de dados (21%).

Estúdio Amazon SageMaker é o primeiro ambiente de desenvolvimento totalmente integrado (IDE) para ML. Com um único clique, cientistas de dados e desenvolvedores podem ativar rapidamente Cadernos de estúdio para explorar conjuntos de dados e construir modelos. Se você preferir uma interface baseada em GUI e interativa, você pode usar Gerenciador de dados do Amazon SageMaker, com mais de 300 visualizações, análises e transformações integradas para processar dados com eficiência com o respaldo do Spark sem escrever uma única linha de código.

Organizador de dados agora oferece um recurso integrado de preparação de dados em Blocos de anotações do estúdio Amazon SageMaker que permite que os profissionais de ML revisem visualmente as características dos dados, identifiquem problemas e corrijam problemas de qualidade de dados com apenas alguns cliques diretamente nos notebooks.

Neste post, mostramos como o Organizador de dados O widget de preparação de dados gera automaticamente visualizações importantes sobre um quadro de dados do Pandas para entender a distribuição de dados, detectar problemas de qualidade de dados e informações de dados de superfície, como outliers para cada recurso. Ele ajuda a interagir com os dados e descobrir insights que podem passar despercebidos com consultas ad hoc. Ele também recomenda transformações para corrigir, permite que você aplique transformações de dados na interface do usuário e gere código automaticamente nas células do bloco de anotações. Esse recurso está disponível em todas as regiões onde o SageMaker Studio está disponível.

Visão geral da solução

Vamos entender melhor como esse novo widget torna a exploração de dados significativamente mais fácil e fornece uma experiência perfeita para melhorar a experiência geral de preparação de dados para engenheiros de dados e profissionais. Para nosso caso de uso, usamos uma versão modificada do Conjunto de dados do Titanic, um conjunto de dados popular na comunidade ML, que agora foi adicionado como um amostra de conjunto de dados para que você possa começar a usar o SageMaker Data Wrangler rapidamente. O conjunto de dados original foi obtido de OpenML, e modificado para adicionar problemas de qualidade de dados sintéticos pela Amazon para esta demonstração. Você pode baixar a versão modificada do conjunto de dados do caminho S3 público s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Pré-requisitos

Para obter experiência prática com todos os recursos descritos nesta postagem, preencha os seguintes pré-requisitos:

  1. Certifique-se de ter uma conta da AWS, acesso seguro para fazer login na conta por meio do Console de gerenciamento da AWS e Gerenciamento de acesso e identidade da AWS (IAM) permissões para usar Amazon Sage Maker e Serviço de armazenamento simples da Amazon (Amazon S3).
  2. Use o conjunto de dados de amostra do caminho S3 público s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv ou alternativamente faça o upload para um bucket do S3 na sua conta.
  3. Integre-se a um domínio SageMaker e acesse o Studio para usar notebooks. Para obter instruções, consulte Integrado ao domínio do Amazon SageMaker. Se você estiver usando o Studio existente, atualize para o última versão do Studio.

Ative o widget de exploração de dados

Ao usar quadros de dados do Pandas, os usuários do bloco de anotações do Studio podem habilitar manualmente o widget de exploração de dados para que novas visualizações sejam exibidas por padrão no topo de cada coluna. O widget mostra um histograma para dados numéricos e um gráfico de barras para outros tipos de dados. Essas representações permitem que você compreenda rapidamente a distribuição de dados e descubra valores ausentes e discrepantes sem precisar escrever métodos padrão para cada coluna. Você pode passar o mouse sobre a barra em cada visual para entender rapidamente a distribuição.

Abra o Studio e crie um novo notebook Python 3. Certifique-se de escolher o Ciência de Dados 3.0 imagem das imagens do SageMaker clicando em Mudança de ambiente botão.

O widget de exploração de dados está disponível nas imagens a seguir. Para obter a lista de imagens padrão do SageMaker, consulte Imagens disponíveis do Amazon SageMaker.

  • Python 3 (Ciência de Dados) com Python 3.7
  • Python 3 (Ciência de Dados 2.0) com Python 3.8
  • Python 3 (Ciência de Dados 3.0) com Python 3.10
  • Spark Analytics 1.0 e 2.0

Para usar este widget, importe o SageMaker_DataWrangler biblioteca. Carregue a versão modificada do conjunto de dados Titanic de S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv e leia o CSV com a biblioteca Pandas:

import pandas as pd
import boto3
import io
import sagemaker_datawrangler

s3 = boto3.client('s3')
obj = s3.get_object(Bucket='sagemaker-sample-files', Key='datasets/tabular/dirty-titanic/titanic-dirty-4.csv')
df = pd.read_csv(io.BytesIO(obj['Body'].read()))

Widget de preparação de dados do Data Wrangler - bloco de notas de exemplo

Visualize os dados

Depois que os dados são carregados no quadro de dados do Pandas, você pode visualizar os dados usando apenas df or display(df). Além de listar a linha, o widget de preparação de dados produz insights, visualizações e conselhos sobre qualidade de dados. Você não precisa escrever nenhum código adicional para gerar insights de recursos e destinos, informações de distribuição ou renderizar verificações de qualidade de dados. Você pode escolher o cabeçalho da tabela do quadro de dados para visualizar o resumo estatístico mostrando os avisos de qualidade de dados, se houver.

visualizar os dados

Cada coluna mostra um gráfico de barras ou histograma com base no tipo de dados. Por padrão, o widget amostra até 10,000 observações para gerar insights significativos. Ele também oferece a opção de executar a análise de insight em todo o conjunto de dados.

Conforme mostrado na captura de tela a seguir, esse widget identifica se uma coluna possui dados categóricos ou quantitativos.

dados categóricos ou quantitativos

Para dados categóricos, o widget gera o gráfico de barras com todas as categorias. Na captura de tela a seguir, por exemplo, a coluna Sex identifica as categorias nos dados. Você pode passar o mouse sobre a barra (masculina neste caso) para ver os detalhes dessas categorias, como o número total de linhas com o valor male e sua distribuição no conjunto de dados total visualizado (64.07% neste exemplo). Ele também destaca a porcentagem total de valores ausentes em uma cor diferente para dados categóricos. Para dados quantitativos como o ticket coluna, mostra a distribuição junto com a porcentagem de valores inválidos.

Se quiser ver uma visualização padrão do Pandas no notebook, você pode escolher Ver a tabela Pandas e alterne entre o widget e a representação do Pandas, conforme mostrado na captura de tela a seguir.

Ver a tabela Pandas

visualizar a tabela do organizador de dados

Para obter informações mais detalhadas sobre os dados da coluna, escolha o cabeçalho da coluna para abrir um painel lateral dedicado à coluna. Aqui você pode observar duas abas: Insights e Qualidade dos dados.

Insights e qualidade de dados

Nas seções a seguir, exploramos essas duas opções com mais detalhes.

Insights

A Insights A guia fornece detalhes com descrições para cada coluna. Esta seção lista estatísticas agregadas, como modo, número de únicos, proporções e contagens de valores ausentes/inválidos, etc., além de visualizar a distribuição de dados com a ajuda de um histograma ou gráfico de barras. Nas capturas de tela a seguir, você pode verificar os insights de dados e as informações de distribuição exibidas com visualizações facilmente compreensíveis geradas para a coluna selecionada survived.

Qualidade dos dados

O widget de preparação de dados do estúdio destaca problemas de qualidade de dados identificados com o sinal de aviso no cabeçalho. Widget pode identificar todo o espectro de problemas de qualidade de dados desde o básico (valores ausentes, coluna constante etc.) O widget destaca as células que causam o problema de qualidade de dados e reorganiza as linhas para colocar as células problemáticas no topo. Para remediar o problema de qualidade de dados, o widget fornece vários transformadores, aplicáveis ​​com o clique de um botão.

Para explorar a seção de qualidade de dados, escolha o cabeçalho da coluna e, no painel lateral, escolha o Qualidade dos dados aba. Você deve ver o seguinte em seu ambiente Studio.

guia de qualidade de dados

Vejamos as diferentes opções disponíveis no Qualidade dos dados aba. Para este exemplo, escolhemos a coluna de idade, que é detectada como uma coluna quantitativa com base nos dados. Como podemos ver na captura de tela a seguir, este widget sugere diferentes tipos de transformações que você pode aplicar, incluindo as ações mais comuns, como Substituir por um novo valor, Queda ausente, Substituir por medianaou Substitua por média. Você pode escolher qualquer um deles para o seu conjunto de dados com base no caso de uso (o problema de ML que você está tentando resolver). Também lhe dá o Coluna de queda opção se você deseja remover o recurso completamente.

idade

Quando você escolhe Aplicar e exportar código, a transformação é aplicada à cópia profunda do quadro de dados. Depois que a transformação é aplicada com sucesso, a tabela de dados é atualizada com os insights e as visualizações. O código de transformação é gerado após a célula existente no notebook. Você pode executar esse código exportado posteriormente para aplicar a transformação em seus conjuntos de dados e estendê-lo conforme suas necessidades. Você pode customizar a transformação modificando diretamente o código gerado. Se aplicarmos o Queda ausente opção na coluna Idade, o seguinte código de transformação é aplicado ao conjunto de dados e o código também é gerado em uma célula abaixo do widget:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Drop missing for column: age to resolve warning: Missing values 
output_df = output_df[output_df['age'].notnull()]

Veja a seguir outro exemplo de um trecho de código para Substituir por mediana:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Replace with median for column: age to resolve warning: Missing values 
output_df['age']=output_df['age'].fillna(output_df['age'].median(skipna=True))

Agora, vamos examinar o recurso de insight de destino do widget de preparação de dados. Suponha que você queira usar o survived recurso para prever se um passageiro sobreviverá. Escolha o survived cabeçalho da coluna. No painel lateral, escolha Selecione como coluna de destino. A distribuição de dados ideal para o survived recurso deve ter apenas duas classes: sim (1) ou não (0), que ajuda a classificar as chances de sobrevivência do acidente do Titanic. No entanto, devido a inconsistências de dados na coluna de destino escolhida, o recurso sobrevivente foi 0, 1, ?, unknown e yes.

selecionar como coluna de destino

Escolha o tipo de problema com base na coluna de destino selecionada, que pode ser Classificação or Regressão. Para a coluna sobrevivente, o tipo de problema é classificação. Escolher Execute para gerar insights para a coluna de destino.

sobreviveram

O widget de preparação de dados lista os insights da coluna de destino com recomendações e explicações de amostra para resolver os problemas com a qualidade dos dados da coluna de destino. Ele também destaca automaticamente os dados anômalos na coluna.

insights de coluna de destino com recomendações

Escolhemos a transformação recomendada Soltar valores alvo raros, porque há menos observações para os valores alvo raros.

Largue o valor alvo raro

A transformação escolhida é aplicada ao quadro de dados do Pandas e os valores de destino incomuns foram eliminados da coluna sobrevivente. Veja o seguinte código:

# Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True)

# Code to Drop rare target values for column: survived to resolve warning: Too few instances per class 
rare_target_labels_to_drop = ['?', 'unknown', 'yes']
output_df = output_df[~output_df['survived'].isin(rare_target_labels_to_drop)]

Os resultados da transformação aplicada são imediatamente visíveis no quadro de dados. Para rastrear as atividades de preparação de dados aplicadas usando o widget de preparação de dados, o código transformado também é gerado na seguinte célula do notebook.

Conclusão

Nesta postagem, fornecemos orientações sobre como o widget de preparação de dados do Studio pode ajudá-lo a analisar distribuições de dados, explorar insights de qualidade de dados gerados pela ferramenta e descobrir possíveis problemas, como outliers para cada recurso crítico. Isso ajuda a melhorar a qualidade geral dos dados para ajudá-lo a treinar modelos de alta qualidade e remove o trabalho pesado indiferenciado, permitindo transformar dados na interface do usuário e gerar código para as células do notebook automaticamente. Você pode então usar esse código em seus pipelines MLOps para criar reprodutibilidade, evitar perda de tempo em tarefas repetitivas e reduzir problemas de compatibilidade ao acelerar a construção e implantação de pipelines de transformação de dados.

Se você for novo no SageMaker Data Wrangler ou no Studio, consulte Comece a usar o SageMaker Data Wrangler. Se você tiver alguma dúvida relacionada a esta postagem, adicione-a na seção de comentários.


Sobre os autores

Widget interativo de preparação de dados para notebooks com tecnologia Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Parte Patel é arquiteto de soluções da AWS na área da baía de São Francisco. Parth orienta os clientes a acelerar sua jornada para a nuvem e ajudá-los a adotar e crescer na Nuvem AWS com sucesso. Ele se concentra em aprendizado de máquina, sustentabilidade ambiental e modernização de aplicativos.

Widget interativo de preparação de dados para notebooks com tecnologia Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Isha Dua é Arquiteto de Soluções Sênior baseado na área da Baía de São Francisco. Ela ajuda os clientes da AWS Enterprise a crescer ao compreender seus objetivos e desafios e orientá-los sobre como eles podem arquitetar seus aplicativos de maneira nativa da nuvem, certificando-se de que sejam resilientes e escaláveis. Ela é apaixonada por tecnologias de aprendizado de máquina e sustentabilidade ambiental.

Widget interativo de preparação de dados para notebooks com tecnologia Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Hariharan Suresh é Arquiteto de Soluções Sênior na AWS. Ele é apaixonado por bancos de dados, aprendizado de máquina e design de soluções inovadoras. Antes de ingressar na AWS, Hariharan foi arquiteto de produtos, especialista em implementação de core banking e desenvolvedor, e trabalhou com organizações BFSI por mais de 11 anos. Fora da tecnologia, ele gosta de parapente e ciclismo.

Widget interativo de preparação de dados para notebooks com tecnologia Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Daniel Mitchell é arquiteto de soluções especialista em IA/ML da Amazon Web Services. Ele está focado em casos de uso de Visão Computacional e em ajudar clientes em toda a região EMEA a acelerar sua jornada de ML.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS