Pré-processamento de dados em mineração de dados: etapas, imputação de valor ausente, padronização de dados
Publicados: 2020-12-30A parte mais demorada do trabalho de um Cientista de Dados é preparar e pré-processar os dados disponíveis. Os dados que obtemos em cenários da vida real não são limpos e adequados para modelagem. Os dados precisam ser limpos, trazidos para um determinado formato e transformados antes de alimentar os modelos de Machine Learning.
Ao final deste tutorial, você conhecerá o seguinte
- Por que o pré-processamento de dados
- Limpeza de dados
- Atribuição de valor ausente
- Padronização de dados
- Discretização
Índice
Por que pré-processamento de dados?
Quando os dados são recuperados por sucateamento de sites e coleta de outras fontes de dados, geralmente estão cheios de discrepâncias. Pode ser problemas de formatação, valores ausentes, valores de lixo e texto e até mesmo erros nos dados. Várias etapas de pré-processamento precisam ser feitas para garantir que os dados que são alimentados no modelo estejam de acordo com a marca, para que o modelo possa aprender e generalizar sobre eles.
Limpeza de dados
O primeiro e mais essencial passo é limpar as irregularidades nos dados. Sem fazer esta etapa, não podemos fazer muito sentido com as estatísticas dos dados. Estes podem ser problemas de formatação, valores de lixo e valores discrepantes.
Problemas de formatação
Precisamos que os dados estejam em um formato tabular na maioria das vezes, mas não é o caso. Os dados podem ter nomes de coluna ausentes ou incorretos, colunas em branco. Além disso, ao lidar com dados não estruturados, como Imagens e Texto, torna-se essencial obter os dados 2D ou 3D carregados em Dataframes para modelagem.
Valores de lixo
Muitas instâncias ou colunas completas podem ter determinados valores de lixo anexados ao valor real necessário. Por exemplo, considere uma coluna “rank” que possui os valores como: “#1”, “#3”, “#12”, “#2” etc. Agora, é importante remover todos os “#” anteriores caracteres para poder alimentar o valor numérico para o modelo.
Atípicos
Muitas vezes, determinados valores numéricos são muito grandes ou muito baixos do que o valor médio da coluna específica. Estes são considerados como outliers. Outliers precisam de tratamento especial e são um fator sensível para tratar. Esses valores discrepantes podem ser erros de medição ou podem ser valores reais também. Eles precisam ser removidos completamente ou manuseados separadamente, pois podem conter muitas informações importantes.
Valores ausentes
Raramente é o caso de seus dados conterem todos os valores para cada instância. Muitos valores estão ausentes ou preenchidos com entrada de lixo. Esses valores ausentes precisam ser tratados. Esses valores podem ter vários motivos pelos quais podem estar ausentes. Eles podem estar ausentes devido a algum motivo, como erro do sensor ou outros fatores, ou também podem estar ausentes completamente aleatoriamente.
Leia: Projetos de mineração de dados na Índia
Descartando
A maneira mais direta e fácil é descartar as linhas onde os valores estão ausentes. Fazer isso tem muitas desvantagens, como a perda de informações cruciais. Pode ser um bom passo eliminar os valores ausentes quando a quantidade de dados que você possui é enorme. Mas se os dados forem menores e houver muitos valores ausentes, você precisará de maneiras melhores de resolver esse problema.
Imputação de média/mediana/modo
A maneira mais rápida de imputar valores ausentes é simplesmente imputar o valor médio da coluna. No entanto, tem desvantagens porque perturba a distribuição original dos dados. Você também pode imputar o valor da mediana ou o valor da moda que geralmente é melhor que a média simples.
Interpolação linear e KNN
Formas mais inteligentes também podem ser usadas para imputar valores ausentes. 2 das quais são Interpolações Lineares usando vários modelos tratando a coluna com valores em branco como o recurso a ser previsto. Outra maneira é usar clustering por KNN. KNN faz clusters dos valores em um determinado recurso e, em seguida, atribui o valor mais próximo ao cluster.
Padronização de dados
Em um conjunto de dados com vários recursos numéricos, todos os recursos podem não estar na mesma escala. Por exemplo, um recurso "Distância" tem distâncias em metros como 1300, 800, 560, etc. E outro recurso "tempo" tem tempos em horas como 1, 2,5, 3,2, 0,8, etc. Então, quando esses dois recursos são alimentados ao modelo, ele considera a feição com distâncias com maior peso, pois seus valores são grandes. Para evitar esse cenário e ter uma convergência mais rápida, é necessário trazer todos os recursos na mesma escala.

Normalização
Uma maneira comum de dimensionar os recursos é normalizando-os. Ele pode ser implementado usando o Normalizer do Scikit-learn. Funciona não nas colunas, mas nas linhas. A normalização L2 é aplicada a cada observação para que os valores em uma linha tenham uma norma unitária após a escala.
Escala Mín. Máx.
O dimensionamento Min Max pode ser implementado usando a classe Min MaxScaler do Scikit-learn. Ele subtrai o valor mínimo dos recursos e depois divide pelo intervalo, onde o intervalo é a diferença entre o máximo original e o mínimo original. Ele preserva a forma da distribuição original, com intervalo padrão em 0-1.
Escala padrão
O Standard Scaler também pode ser implementado usando a classe do Scikit-learn. Ele padroniza um recurso subtraindo a média e, em seguida, dimensionando para a variação da unidade, onde a variação da unidade significa dividir todos os valores pelo desvio padrão. Faz a média da distribuição 0 e o desvio padrão como 1.
Discretização
Muitas vezes os dados não estão no formato numérico em vez do formato categórico. Por exemplo, considere um recurso “temperatura” com valores como “Alto”, “Baixo”, “Médio”. Esses valores textuais precisam ser codificados em forma numérica para permitir que o modelo seja treinado.
Dados categóricos
Os dados categóricos são codificados por rótulo para trazê-los em forma numérica. Portanto, “Alto”, “Médio” e “Baixo” podem ser codificados por rótulo para 3,2 e 1. Os recursos categóricos podem ser nominais ou ordinais. Características categóricas ordinais são aquelas que têm uma certa ordem. Por exemplo, no caso acima, podemos dizer que 3>2>1 como as temperaturas podem ser medidas/quantificadas.
No entanto, em um exemplo em que um recurso de “Cidade” que possui valores como “Delhi”, “Jammu” e “Agra”, não pode ser medido. Em outras palavras, quando rotulamos como 3, 2, 1, não podemos dizer que 3>2>1 porque “Delhi” > ”Jammu” não fará muito sentido. Nesses casos, usamos One Hot Encoding.
Dados contínuos
Os recursos com valores contínuos também podem ser discretizados categorizando os valores em compartimentos de intervalos específicos. Binning significa converter um recurso numérico ou contínuo em um conjunto discreto de valores, com base nos intervalos dos valores contínuos. Isso é útil quando você deseja ver as tendências com base em qual intervalo o ponto de dados se enquadra.
Por exemplo, digamos que temos notas para 7 crianças que variam de 0 a 100. Agora, podemos atribuir as notas de cada criança a uma “caixa” específica. Agora podemos dividir em 3 compartimentos com intervalos de 0 a 50, 51-70 e 71-100 pertencentes aos compartimentos 1,2 e 3, respectivamente. Portanto, o recurso agora conterá apenas um desses 3 valores. O Pandas oferece 2 funções para obter rapidamente o binning: qcut e cut.
O Pandas qcut recebe o número de quantis e divide os pontos de dados para cada compartimento com base na distribuição de dados.
O corte de pandas, por outro lado, recebe os intervalos personalizados definidos por nós e divide os pontos de dados nesses intervalos.
Leitura relacionada: Pré-processamento de dados em Machine Learning
Aprenda cursos de ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
O pré-processamento de dados é uma etapa essencial em qualquer tarefa de mineração de dados e aprendizado de máquina. Todas as etapas que discutimos certamente não são todas, mas cobrem a maior parte da parte básica do processo. As técnicas de pré-processamento de dados também são diferentes para dados de NLP e de imagem. Certifique-se de experimentar exemplos das etapas acima e implementá-las em seu pipeline de mineração de dados.
Se você está curioso para aprender sobre ciência de dados, confira o PG Diploma in Data Science do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1- on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.
O que é pré-processamento de dados e qual a sua importância?
Esta é uma técnica para fornecer os dados brutos não estruturados que estão na forma de imagens, texto, vídeos. Esses dados são primeiro pré-processados para remover inconsistências, erros e redundâncias para que possam ser analisados posteriormente.
Os dados brutos são transformados em dados relevantes que podem ser compreendidos pelas máquinas. O pré-processamento dos dados é uma etapa importante para transformar os dados para modelagem. Sem processamento, é praticamente inútil.
Quais são as etapas envolvidas no pré-processamento de dados?
O pré-processamento de dados envolve várias etapas para concluir todo o processo. Os dados são limpos primeiro para remover ruídos e preencher os valores ausentes. Depois disso, os dados são integrados de várias fontes para serem combinados em um único conjunto de dados. Essas etapas são seguidas por transformação, redução e discretização.
A transformação dos dados brutos envolve a normalização dos dados. A redução e a discretização tratam basicamente da redução dos atributos e dimensões dos dados. Isso é seguido pela compactação desse grande conjunto de dados.
Qual é a diferença entre métodos univariados e multivariados?
O método univariado é o método mais simples para lidar com um outlier. Ele não faz uma visão geral de nenhum relacionamento, pois é uma única variável e seu principal objetivo é analisar os dados e determinar o padrão associado a eles. Média, mediana e moda são exemplos de padrões encontrados nos dados univariados.
Por outro lado, o método multivariado serve para analisar três ou mais variáveis. É mais preciso que o método anterior, pois, ao contrário do método univariado, o método multivariado lida com relacionamentos e padrões. Árvore Aditiva, Análise de Correlação Canônica e Análise de Cluster são algumas das maneiras de realizar análises multivariadas.
