preparação e limpeza de dados

Post on 04-Jun-2015

234 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Aula sobre preparação e limpeza de dados

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