preparação e limpeza de dados
Post on 04-Jun-2015
235 Views
Preview:
DESCRIPTION
TRANSCRIPT
PREPARAÇÃO E LIMPEZA DE DADOSAlexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
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.
–Anitta“Prepara…”
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
ETAPAS DA PREPARAÇÃO DE DADOS
• Separação
• Conversão
• Padronização
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
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
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
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
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
COMO PROCEDER?
• Suponha que precisamos separar os nomes para podermos ordenar uma lista de 500 itens pelo sobrenome
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?
COMO SEPARAR OS DADOS?
• É possível escrever um livro inteiro apenas sobre isso!
• Conhecimento de uma linguagem de programação facilita bastante o trabalho
“Você deve sempre manter uma cópia dos dados originais.”
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
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.
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
ESFORÇO MANUAL
• Os 40 nomes estranhos podem acabar tendo que ser tratados manualmente, com a redigitação correta dos 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
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
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
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!
LIMPEZA
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
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
LIMPEZA DE NOTAS
Matrícula Nota
679372531 980
673540288 99
674082892 97
673923590 96
LIMPEZA DE NOTAS
Matrícula Nota
679372531 78
673540288 75
674082892 74
673923590 9
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
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
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!
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
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]
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
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
top related