Preparar dados para aprendizado de máquina aprimorado

O pré-processamento e a limpeza de dados são tarefas importantes que devem ser realizadas para que um conjunto de dados possa ser usado para o treinamento do modelo. Dados brutos costumam conter ruídos e não são confiáveis, e pode haver valores ausentes. Usar esses dados para a modelagem pode produzir resultados incorretos. Essas tarefas fazem parte do TDSP (Processo de Ciência de Dados de Equipe) e, geralmente, seguem uma exploração inicial de um conjunto de dados usado para descobrir e planejar o pré-processamento exigido. Para obter mais informações, consulte 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 uma série de ambientes, como SQL ou Hive ou Estúdio de Aprendizado de Máquina do Azure (clássico). Você também pode usar várias ferramentas e linguagens, como R ou Python. Onde seus dados são armazenados e como o formato deles afeta essas decisões. Como o TDSP é iterativo por natureza, essas tarefas podem ocorrer em várias etapas do fluxo de trabalho do processo.

Este artigo apresenta vários conceitos e tarefas de processamento de dados que podem ser executados 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 de dados e pré-processamento feito dentro de Estúdio do Azure Machine Learning (clássico), assista ao vídeo Pré-processamento de dados.

Por que pré-processar e limpar os 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 de qualidade de dados típicos que podem surgir são:

  • Dados incompletos: os dados não têm atributos ou há valores faltando.
  • Dados com ruído: os dados contêm registros incorretos ou exceções.
  • Dados inconsistentes: os dados contêm registros conflitantes ou discrepâncias.

Dados de qualidade são um pré-requisito para modelos de previsão de qualidade. Para evitar a entrada e saída de lixo e melhorar a qualidade dos dados e, portanto, o desempenho do modelo, é fundamental realizar uma triagem da integridade dos dados para detectar problemas com antecedência. É necessário determinar as etapas de processamento e limpeza de dados correspondentes.

Poderia dar exemplo de filtragens de integridade de dados típicas empregadas?

Para assegurar a qualidade geral dos dados, você pode verificar:

  • O número de registros.
  • O número de atributos (ou recursos).
  • O atributo tipos de dados, como nominais, ordinais ou contínuos.
  • O número de valores ausentes.
  • Se há dados bem formados.
    • Se os dados estiverem no formato TSV ou CSV, verifique se os separadores de colunas e os separadores de linha separam colunas e linhas corretamente.
    • Se os dados estiverem no formato HTML ou XML, verifique se os dados são bem formados com base nos seus respectivos padrões.
    • A análise também pode ser necessária para extrair informações estruturadas de dados não estruturados ou semiestruturados.
  • Registros de dados inconsistentes. Verifique se o intervalo de valores é permitido. Por exemplo, se os dados contiverem médias de pontos de notas (GPAs) dos alunos, verifique se os GPAs estão no intervalo designado, por exemplo, de 0 a 4.

Quando você enfrenta problemas com os dados, execute etapas de processamento, como limpeza de valores ausentes, normalização de dados, diferenciação, processamento de texto para remover ou substituir caracteres inseridos que podem afetar o alinhamento de dados, tipos de dados mistos em campos comuns, entre outros.

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

Quais são as principais tarefas de pré-processamento de dados?

  • Limpeza de dados: preencher os valores ausentes, detectar e remover exceções e dados com ruídos.
  • Transformação de dados: normalizar dados para reduzir o ruído e dimensões.
  • Redução de dados: registros de dados de exemplo ou atributos para fácil manipulação de dados.
  • Diferenciação de dados: converter atributos contínuos para atributos categóricos para maior facilidade de 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 ausentes?

Para lidar com valores faltantes, primeiro identifique o motivo pelo qual eles estão faltando. Métodos de manipulação de valores ausentes típicos são:

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

Como normalizar dados?

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

  • Normalização Mín-Máx: transformar os dados de forma linear em um intervalo, digamos, entre 0 e 1, em que o valor mínimo é dimensionado para 0 e o valor máximo para 1.
  • Normalização de pontuação Z: dados da escala com base em média e desvio padrão. Divida a diferença entre os dados e a média pelo desvio padrão.
  • Dimensionamento decimal: dimensionar os dados movendo o ponto decimal do valor do atributo.

Como diferenciar os dados?

Dados podem ser diferenciados ao converter valores contínuos em atributos nominais ou intervalos. Você pode usar um dos seguintes métodos:

  • Compartimentalização de largura igual: dividir o intervalo de todos os possíveis valores de um atributo entre N grupos do mesmo tamanho e atribuir os valores correspondentes a um compartimento a um número do compartimento.
  • Vinculação de altura igual: divida o intervalo de todos os valores possíveis de um atributo em N grupos, 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?

Há vários métodos para reduzir o tamanho dos dados para facilitar a manipulação de dados. Dependendo do tamanho dos dados e do domínio, você pode aplicar os métodos a seguir:

  • Amostragem de registros: realizar a amostragem dos registros de dados de exemplo e escolha somente o subconjunto representativo dos dados.
  • Amostragem de atributo: selecionar apenas um subconjunto dos atributos mais importantes dos dados.
  • Agregação: dividir os dados em grupos e armazenar os números em cada grupo. Por exemplo, os números de receita diária de uma cadeia de restaurante nos últimos 20 anos podem ser agregados para receita mensal para reduzir o tamanho dos dados.

Como limpar dados de texto?

Campos de texto em dados tabulares podem incluir caracteres que afetam os alinhamentos das colunas e/ou limites de registros. Por exemplo, guias inseridas em um arquivo separado por tabulações causa desalinhamento de coluna e caracteres de nova linha inseridos quebram linhas de registros. Ao escrever ou ler texto, lide adequadamente com a codificação de texto para evitar a perda de informações, inserindo inadvertidamente caracteres ilegíveis (como nulos) ou afetando negativamente a análise do 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 oferece uma exibição antecipada dos dados. Você pode descobrir muitos problemas de dados durante esta etapa e aplicar métodos correspondentes para resolver esses problemas. É importante fazer perguntas, como "qual é a origem do problema?" e "como o problema foi introduzido?". Isso também ajuda você a determinar as etapas de processamento de dados que precisam ser seguidas para resolvê-los. Para priorizar o esforço de processamento de dados, você pode identificar os casos de uso e personas finais.

Referências

Data Mining: Concepts and Techniques, Third Edition, Morgan Kaufmann, 2011, Jiawei Han, Micheline Kamber e Jian Pei

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Para ver perfis não públicos no LinkedIn, entre no LinkedIn.

Próximas etapas