O que é preparação de dados?
A preparação de dados é o processo de preparar os dados brutos a fim de adequá-los para etapas posteriores de processamento e análise. As principais etapas incluem a coleta, limpeza e rotulagem dos dados brutos em um formato adequado aos algoritmos de machine learning (ML) e a posterior exploração e visualização dos dados. A preparação de dados pode consumir até 80% do tempo investido em um projeto de ML. Usar as ferramentas especializadas de preparação de dados é importante para otimizar o processo.
Qual a ligação entre ML e preparação de dados?
As quantidades de dados que passam pelas organizações são cada vez maiores e chegam de todos os tipos de dispositivos, de smartphones a cidades inteligentes, e como dados estruturados ou não estruturados (imagens, documentos, dados geoespaciais e outros). Hoje em dia, os dados não estruturados representam 80% dos dados. Além da análise de dados estruturados, o ML também é capaz de detectar padrões em dados não estruturados. O ML é o processo no qual um computador aprende a interpretar dados, tomar decisões e fazer recomendações com base nesses dados. Dados incorretos, tendenciosos ou incompletos podem resultar em previsões imprecisas durante o processo de aprendizagem e posteriormente, quando usados efetivamente para fazer previsões.
Por que a preparação de dados é importante para o ML?
Os dados são o combustível do ML. Embora seja algo desafiador, tirar proveito desses dados a fim de reinventar seus negócios é crucial para manter a relevância agora e no futuro. Trata-se da sobrevivência do mais informado. Quem conseguir usar os dados para tomar decisões melhores e mais informadas responde mais rapidamente ao inesperado e descobre novas oportunidades. Esse processo importante, mas monótono, é um pré-requisito para a criação de análises e modelos precisos de ML, sendo a parte que mais consome tempo em um projeto de ML. Para minimizar esse investimento de tempo, os cientistas de dados podem usar ferramentas que ajudam a automatizar a preparação de dados de várias maneiras.
Como preparar seus dados?
A preparação de dados segue uma série de etapas que começa com a coleta dos dados certos, seguida pela limpeza, rotulagem, validação e visualização.
Coleta de dados
A coleta de dados é o processo de montagem de todos os dados necessários para o ML. Essa coleta pode ser enfadonha, pois os dados residem em várias fontes de dados, inclusive laptops, em data warehouses, na nuvem, dentro de aplicativos e em dispositivos. Encontrar maneiras de estabelecer conexão com diferentes fontes de dados pode ser uma tarefa desafiadora. Os volumes de dados também estão aumentando exponencialmente, portanto, é necessário realizar pesquisas em muitos dados. Além disso, os dados têm formatos e tipos amplamente diferentes de acordo com a fonte. Por exemplo, não é fácil usar dados de vídeo e dados tabulares em conjunto.
Limpeza de dados
A limpeza de dados corrige erros e preenche dados ausentes como uma etapa de garantia da qualidade dos dados. Após a limpeza dos dados, será necessário transformá-los em um formato consistente e passível de leitura. Esse processo pode incluir a alteração de formatos de campo como datas e moeda, a modificação de convenções de nomenclatura e a correção de valores e unidades de medida para promover consistência.
Rotulagem de dados
A rotulagem de dados é o processo de identificação de dados brutos (imagens, arquivos de texto, vídeos etc.) e adição de um ou mais rótulos significativos e informativos, fornecendo contexto para que um modelo de ML possa aprender com essas informações. Por exemplo, os rótulos podem indicar se uma foto contém um pássaro ou um carro, quais palavras foram mencionadas em uma gravação de áudio ou se uma radiografia contém algo errado. A rotulagem de dados é obrigatória para diversos casos de uso, inclusive visão computacional, processamento de linguagem natural e reconhecimento de fala.
Validação e visualização
Após a limpeza e rotulagem dos dados, muitas vezes as equipes de ML exploram os dados para garantir que eles estejam corretos e prontos para o ML. Visualizações como histogramas, gráficos de dispersão, gráficos de caixa, gráficos de linhas e de barras são ferramentas úteis para confirmar que os dados estão corretos. Além disso, as visualizações também ajudam as equipes de ciência de dados a realizar uma análise exploratória dos dados. Esse processo usa visualizações para detectar padrões, reconhecer anomalias, testar hipóteses ou verificar suposições. A análise exploratória de dados não requer modelagem formal. Em vez disso, as equipes de ciência de dados podem usar as visualizações para decifrar os dados.
Como a AWS pode ajudar?
As ferramentas de preparação de dados do Amazon SageMaker ajudam as organizações a obter insights de dados estruturados ou não estruturados. Por exemplo, é possível usar o Amazon SageMaker Data Wrangler para simplificar a preparação de dados estruturados com visualizações internas de dados por meio de uma interface visual sem a criação de código. O SageMaker Data Wrangler inclui mais de 300 transformações integradas de dados, permitindo normalizar, transformar e combinar rapidamente os componentes sem escrever nenhum código. Se preferir, também é possível agregar suas transformações personalizadas em Python ou Apache Spark. Para dados não estruturados, você precisa de grandes conjuntos de dados rotulados e de alta qualidade. Com o Amazon SageMaker Ground Truth Plus, você pode criar conjuntos de dados de alta qualidade para treinamento de ML enquanto reduz em até 40% os custos de rotulagem de dados sem precisar criar aplicações de rotulagem nem gerenciar quadro de funcionários de rotulagem por conta própria.
Para analistas e usuários comerciais que prefiram preparar dados em um caderno, é possível navegar visualmente, detectar e estabelecer conexão com ambientes Spark de processamento de dados em execução no Amazon EMR diretamente dos cadernos do Amazon SageMaker Studio com alguns cliques. Uma vez conectado, você pode consultar, explorar e visualizar dados interativamente, além de executar trabalhos do Spark usando a linguagem de sua preferência (SQL, Python ou Scala) a fim de criar fluxos de trabalho completos para preparação de dados e ML.