preparação e limpeza de dados

34
PREPARAÇÃO E LIMPEZA DE DADOS Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad

Upload: alexandre-duarte

Post on 04-Jun-2015

234 views

Category:

Education


3 download

DESCRIPTION

Aula sobre preparação e limpeza de dados

TRANSCRIPT

Page 1: Preparação e Limpeza de Dados

PREPARAÇÃO E LIMPEZA DE DADOSAlexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad

Page 2: Preparação e Limpeza de Dados

Dados desorganizados vão cruzar o seu caminho, seja você um analista de dados super bem pago com um bilhão de registros ou uma startup com uma única

pessoa e uma lista com 90 contatos.

Page 3: Preparação e Limpeza de Dados

–Anitta“Prepara…”

Page 4: Preparação e Limpeza de Dados

PREPARAÇÃO• É comum que os dados coletados não estejam inicialmente

prontos para uso

• Há um conjunto comum de tarefas de preparação que precisam ser executadas, principalmente com dados coletados por terceiros

• Se você tiver sorte, conseguirá automatizar pelo menos parte destas tarefas!

• A maioria dos analistas detestam esta parte do trabalho mas alguém precisa limpar os dados

Page 5: Preparação e Limpeza de Dados

ETAPAS DA PREPARAÇÃO DE DADOS

• Separação

• Conversão

• Padronização

Page 6: Preparação e Limpeza de Dados

SEPARAÇÃO

• Separar os dados em campos que serão mais úteis para sua análise

Dado que você precisa Dado disponível

C77000S GA3C77000S

W30000P GA1W30000P

D21250G DE1D21250G

Page 7: Preparação e Limpeza de Dados

SEPARAÇÃO

• Um exemplo um pouco mais complexo

Shopping Endereço Cidade Estado

Manaíra Shopping, Av. Flávio Ribeiro Coutinho, 805 Manaíra - João Pessoa - PB

Shopping Recife, R. PE. CARAPUCEIRO, 777, BOA VIAGEM - RECIFE/PE

Shopping Midway, Av. Bernardo Vieira, 3775 - Tirol Natal-RN

Page 8: Preparação e Limpeza de Dados

SEPARAÇÃONome

Pedro Campos

José João

Maria Silva

Luiz Santos

Zeca Oliveira

Marlene Maria

Nome Sobrenome

Pedro Campos

José João

Silva Maria

Luiz Santos

Zeca Oliveira

Marlene Maria

Page 9: Preparação e Limpeza de Dados

SEPARAÇÃOIniciais no meio Alexandre N. Duarte

Designação profissional Prof. Alexandre Duarte

Prefixos Dr. Alexandre Duarte

Sufixos Alexandre Duarte II

Sobrenome com hífen Alexandre Nóbrega-Duarte

Sobrenome primeiro Duarte, Alexandre Nóbrega

Primeiro nome duplo Alexandre Antônio Duarte

Page 10: Preparação e Limpeza de Dados

SEPARAÇÃOPrefixo/Sufixos Prof. Alexandre Duarte, PhD

Outros campos incluídos incorretamente Alexandre Duarte UFPB João Pessoa

Primeiro nome ausente Nóbrega Duarte

Sobrenome ausente Alexandre

Tudo ausente

Não sei AA

Não é um nome de pessoa Universidade Federal da Paraíba

Page 11: Preparação e Limpeza de Dados

COMO PROCEDER?

• Suponha que precisamos separar os nomes para podermos ordenar uma lista de 500 itens pelo sobrenome

Page 12: Preparação e Limpeza de Dados

ANTES DE COMEÇAR

• Qual a importância de fazer essa separação?

• O que se perde mantendo o nome como um campo único?

• Qual o resultado esperado?

• Deve-se manter algum outro campo além do nome e sobrenome?

• Vale a pena o esforço ?

• E se alguém disser que corrige a lista para você por R$ 1000? E por R$ 100?

• Como lidar com entradas incorretas/incompletas?

Page 13: Preparação e Limpeza de Dados

COMO SEPARAR OS DADOS?

• É possível escrever um livro inteiro apenas sobre isso!

• Conhecimento de uma linguagem de programação facilita bastante o trabalho

Page 14: Preparação e Limpeza de Dados

“Você deve sempre manter uma cópia dos dados originais.”

Page 15: Preparação e Limpeza de Dados

PROCURE PELO CASO COMUM

• Muitas vezes, a maior parte dos dados pode ser separada de forma trivial

• Você pode perceber que dos 500 nomes, 200 possuem apenas o primeiro nome e o sobrenome

• Separe estes 200 e concentre-se nos 300 restantes

Page 16: Preparação e Limpeza de Dados

IDENTIFIQUE AS SINGULARIDADES

• Dê uma olhada no conjunto de dados para identificar entradas sem dados, nomes complicados, nomes incompletos, dados que não representam nomes e entradas com as quais você não sabe lidar.

• Digamos que este grupo é formado por 40 nomes

• Reserve-os para mais tarde.

Page 17: Preparação e Limpeza de Dados

PROCURE POR SIMILARIDADES

• Dos 260 nomes restantes, talvez 60 sejam mais complicados por conta de designações profissionais.

• Apague ou separe manualmente de uma única vez essas 60 designações profissionais

• Adicione os que agora possuem apenas nome e sobrenome aos 200 que separamos no começo

• Os que ainda não estiverem no formato esperado (sobrenomes duplos, etc) são classificados em grupos apropriados

Page 18: Preparação e Limpeza de Dados

ESFORÇO MANUAL

• Os 40 nomes estranhos podem acabar tendo que ser tratados manualmente, com a redigitação correta dos dados

Page 19: Preparação e Limpeza de Dados

CONVERSÃO

• Uma outra tarefa importante na fase de preparação é garantir que todos os dados de um determinado campo sejam descritos utilizando a mesma unidade e tipo de dados

• Exemplo: considere uma base com dados biometricos de pessoas de diferentes países.

• Pesos podem especificados em kilos ou libras

• Alturas podem ser especificadas em centímetros ou polegadas

Page 20: Preparação e Limpeza de Dados

PADRONIZAÇÃO

• Talvez a etapa mais intensiva da preparação dos dados seja a padronização, ou controle de inconsistências

• Valores diferentes para representar o mesmo conceito

• Geralmente requer preparação semi-automática

Page 21: Preparação e Limpeza de Dados

PADRONIZAÇÃOEngenharia da Computação

Ciência da ComputaçãoCiências da Computação

MatemáticaEngenharia de Computação

ECCC

MAT

0 7.5 15 22.5 30

Engenharia da ComputaçãoCiência da Computação

Matemática

0 12.5 25 37.5 50

Page 22: Preparação e Limpeza de Dados

DIMINUINDO A DOR DE CABEÇA

• A melhor solução é a prevenção

• Se você está coletando os dados, faça o máximo possível para minimizar a possibilidade de coletar dados que demandem grande esforço na preparação

• Veremos mais sobre isso ainda hoje!

Page 23: Preparação e Limpeza de Dados

LIMPEZA

Page 24: Preparação e Limpeza de Dados

LIMPEZA DOS DADOS• Após a preparação dos dados devemos procurar identificar

dados incorretos

• Números inconsistentes

• Erros de digitação

• Decidir se é possível corrigir os erros ou se os dados devem ser ignorados

• Atividade semi-automática

Page 25: Preparação e Limpeza de Dados

TESTE DE INTERVALO

• Procedimento simples para testar valores numéricos

• Checar se valores estão acima ou abaixo dos limites estabelecidos para uma variável

• Marcar valores suspeitos para análise manual

Page 26: Preparação e Limpeza de Dados

LIMPEZA DE NOTAS

Matrícula Nota

679372531 980

673540288 99

674082892 97

673923590 96

Page 27: Preparação e Limpeza de Dados

LIMPEZA DE NOTAS

Matrícula Nota

679372531 78

673540288 75

674082892 74

673923590 9

Page 28: Preparação e Limpeza de Dados

ORTOGRAFIA• Verificação ortográfica é uma outra forma de detectar dados

problemáticos

• Cienca da Computaçao, Ciensia da Computasao ,etc

• Recomenda-se que cada variável (coluna) seja testada isoladamente

• Um valor considerado incorreto para uma variável pode ser correto para outra

Page 29: Preparação e Limpeza de Dados

PADRÕES / EXPRESSÕES REGULARES

• Expressões regulares são suas aliadas

• Testar se todas as entradas para a variável e-mail são realmente endereços de e-mail

• Só fazem sentido se aplicadas a variáveis (colunas) isoladamente

Page 30: Preparação e Limpeza de Dados

A MAIORIA DOS CONJUNTOS DE DADOS NÃO É 100% LIMPA• Aceite isso!

• Se você seleciona 1000 entradas de uma base com 1.000.000 entradas e você detecta que 2 estão com o nome e sobrenome em um único campo, faz sentido processar toda a base novamente ?

• Depende!

Page 31: Preparação e Limpeza de Dados

DEPOIS DA LIMPEZA• há documentação!

• Como outros podem verificar que a limpeza que você fez não corrompeu os dados?

• Os dados tratados podem ser muito diferentes dos dados brutos

• É preciso documentar tudo!

• É melhor documentar durante a limpeza e não após terminar.

• Ajudará a explicar porque determinados pontos de dados foram removidos

Page 32: Preparação e Limpeza de Dados

REGRA GERAL

• Se o número de valores incorretos ou ausentes em uma [linha, coluna] é maior do que o número de valores corretos o mais recomendado é excluir esta [linha, coluna]

Page 33: Preparação e Limpeza de Dados

O QUE UMA BOA LIMPEZA DE DADOS CONSEGUE TRATAR

• erros de digitação, erros de digitação

• outliers, valores inválidos, valores extremos

• dados que não são internamente consistentes

• ausência ou excesso de dados

• padrões estranhos em distribuições

• valores ausentes

Page 34: Preparação e Limpeza de Dados

O QUE A LIMPEZA NÃO FAZ• Detectar valores incorretos mas dentro do intervalo esperado

• Uma pessoa de 45 anos digita sua idade como 54

• Detectar respostas que não refletem sua opinião do respondente

• Escolheu Concorda Fortemente quando queria na verdade escolher Discorda Fortemente

• Distinguir dados ausentes de dados omitidos

• Prefiro não responder