Preparar dados para aprendizagem automática melhorada

O pré-processamento e a limpeza de dados são tarefas importantes que devem ser realizadas antes que um conjunto de dados possa ser usado para treinamento de modelos. Os dados brutos são muitas vezes barulhentos e pouco confiáveis, e podem estar faltando valores. O uso desses dados para modelagem pode produzir resultados enganosos. Essas tarefas fazem parte do Processo de Ciência de Dados da Equipe (TDSP) e normalmente seguem uma exploração inicial de um conjunto de dados usado para descobrir e planejar o pré-processamento necessário. Para obter mais informações, O que é o Processo de Ciência de Dados da Equipe?.

As tarefas de pré-processamento e limpeza, como a tarefa de exploração de dados, podem ser realizadas em uma ampla variedade de ambientes, como SQL ou Hive ou o estúdio Azure Machine Learning (clássico). Você também pode usar várias ferramentas e linguagens, como R ou Python. Onde seus dados são armazenados e como seu formato afeta essas decisões. Como o TDSP é iterativo por natureza, essas tarefas podem ocorrer em várias etapas no fluxo de trabalho do processo.

Este artigo apresenta vários conceitos e tarefas de processamento de dados que podem ser realizados antes ou depois da ingestão de dados no estúdio de Aprendizado de Máquina do Azure (clássico).

Para obter um exemplo de exploração e pré-processamento de dados feito dentro do estúdio do Azure Machine Learning (clássico), consulte o vídeo, Pré-processamento de dados.

Porquê pré-processar e limpar dados?

Os dados do mundo real são coletados de várias fontes e processos e podem conter irregularidades ou dados corrompidos comprometendo a qualidade do conjunto de dados. Os problemas típicos de qualidade de dados que surgem são:

  • Dados incompletos: faltam atributos ou contêm valores ausentes
  • Dados ruidosos: contém registos errados ou valores anómalos
  • Dados inconsistentes: contém registros conflitantes ou discrepâncias

Dados de qualidade são um pré-requisito para modelos preditivos de qualidade. Para evitar a entrada e saída de lixo e melhorar a qualidade dos dados e, portanto, o desempenho do modelo, é imperativo realizar uma triagem de integridade de dados para detetar problemas de dados com antecedência. Você precisa decidir sobre as etapas correspondentes de processamento e limpeza de dados.

Quais são algumas telas típicas de integridade de dados que são empregadas?

Pode verificar a qualidade geral dos dados verificando:

  • O número de registos.
  • O número de atributos (ou recursos).
  • Os tipos de dados de atributo, como nominal, ordinal ou contínuo.
  • O número de valores em falta.
  • Para dados bem formados .
    • Se os dados estiverem no formato TSV ou CSV, verifique se os separadores de coluna e os separadores de linha separam corretamente colunas e linhas.
    • Se os dados estiverem em formato HTML ou XML, verifique se os dados estão bem formados com base em seus respetivos padrões.
    • A análise também pode ser necessária para extrair informações estruturadas de dados semiestruturados ou não estruturados.
  • Registos de dados inconsistentes. Verifique se o intervalo de valores é permitido. Por exemplo, se os dados contiverem médias de pontos de alunos (GPAs), verifique se os GPAs estão no intervalo designado, por exemplo, de 0 a 4.

Quando encontrar problemas com dados, execute etapas de processamento, por exemplo, limpeza de valores ausentes, normalização de dados, discretização, processamento de texto para remover ou substituir caracteres incorporados que possam afetar o alinhamento de dados, tipos de dados mistos em campos comuns e outros.

O Azure Machine Learning consome dados tabulares bem formados. Se os dados já estiverem em forma de tabela, você poderá executar o pré-processamento de dados diretamente com o estúdio de Aprendizado de Máquina do Azure (clássico). Se os dados não estiverem em forma de tabela, por exemplo, se estiverem em formato XML, talvez seja necessário analisar os dados para convertê-los em forma de tabela.

Quais são algumas das principais tarefas no pré-processamento de dados?

  • Limpeza de dados: preencha os valores em falta, detete e remova dados ruidosos e valores anómalos.
  • Transformação de dados: normalize os dados para reduzir as dimensões e o ruído.
  • Redução de dados: registros ou atributos de dados de amostra para facilitar o manuseio de dados.
  • Discretização de dados: converta atributos contínuos em atributos categóricos para facilitar o uso com determinados métodos de aprendizado de máquina.
  • Limpeza de texto: remova caracteres incorporados que possam causar desalinhamento de dados. Por exemplo, eles podem ser guias incorporadas em um arquivo de dados separado por tabulações ou novas linhas incorporadas que quebram registros.

As seções a seguir detalham algumas dessas etapas de processamento de dados.

Como lidar com valores em falta?

Para lidar com valores ausentes, primeiro identifique o motivo dos valores ausentes. Os métodos típicos de manipulação de valores ausentes são:

  • Exclusão: remova registros com valores ausentes.
  • Substituição fictícia: substitua valores ausentes por um valor fictício, como desconhecido para valores categóricos ou 0 para valores numéricos.
  • Substituição média: Se os dados em falta forem numéricos, substitua os valores em falta pela média.
  • Substituição frequente: Se os dados em falta forem categóricos, substitua os valores em falta pelo item mais frequente.
  • Substituição por regressão: use um método de regressão para substituir valores ausentes por valores regredidos.

Como normalizar os dados?

A normalização de dados redimensiona os valores numéricos para um intervalo especificado. Os métodos populares de normalização de dados incluem:

  • Normalização Min-max: Transformar linearmente os dados em um intervalo, como 0 a 1, onde o valor mínimo é dimensionado para 0 e o valor máximo é dimensionado para 1.
  • Normalização do escore Z: Dados da escala com base na média e desvio padrão. Divida a diferença entre os dados e a média pelo desvio padrão.
  • Escala decimal: dimensione os dados movendo o ponto decimal do valor do atributo.

Como diferenciar dados?

Os dados podem ser discretizados convertendo valores contínuos em atributos ou intervalos nominais. Você pode usar os seguintes métodos:

  • Vinculação de largura igual: divida o intervalo de todos os valores possíveis de um atributo em grupos N do mesmo tamanho e atribua os valores que caem em um compartimento com o número do compartimento.
  • Vinculação de altura igual: divida o intervalo de todos os valores possíveis de um atributo em grupos N , cada um contendo o mesmo número de instâncias. Em seguida, atribua os valores que caem em um compartimento com o número do compartimento.

Como reduzir os dados?

Existem vários métodos para reduzir o tamanho dos dados para facilitar o tratamento dos dados. Dependendo do tamanho dos dados e do domínio, você pode aplicar os seguintes métodos:

  • Amostragem de registros: Amostragem dos registros de dados e escolha apenas o subconjunto representativo dos dados.
  • Amostragem de atributos: selecione apenas um subconjunto dos atributos mais importantes dos dados.
  • Agregação: Divida os dados em grupos e armazene os números de cada grupo. Por exemplo, os números de receita diária de uma cadeia de restaurantes nos últimos 20 anos podem ser agregados à receita mensal para reduzir o tamanho dos dados.

Como limpar dados de texto?

Os campos de texto em dados tabulares podem incluir caracteres que afetam o alinhamento da coluna ou os limites do registro. Por exemplo, guias incorporadas em um arquivo separado por tabulações causam desalinhamento de coluna e novos caracteres de linha incorporados quebram linhas de registro. Ao escrever ou ler texto, manipule adequadamente a codificação de texto para evitar a perda de informações, introduzindo inadvertidamente caracteres ilegíveis (como nulos) ou afetando negativamente a análise de texto. Talvez seja necessário analisar e editar dados cuidadosamente. Você pode limpar campos de texto para garantir o alinhamento adequado e extrair dados estruturados de dados não estruturados ou semiestruturados.

A exploração de dados fornece uma visão antecipada dos dados. Você pode descobrir muitos problemas de dados durante esta etapa e aplicar os métodos correspondentes para resolver esses problemas. É importante fazer perguntas, como qual é a origem do problema e como o problema foi introduzido. Esse processo também ajuda você a decidir as etapas de processamento de dados que precisam ser tomadas para resolvê-los. Para priorizar o esforço de processamento de dados, você pode identificar os casos de uso finais e as personas.

Referências

Data Mining: Concepts and Techniques, Terceira Edição, Morgan Kaufmann, 2011, Jiawei Han, Micheline Kamber e Jian Pei

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos