Prepara - PowerPoint PPT Presentation

About This Presentation
Title:

Prepara

Description:

Prepara o dos Dados Marcilio Souto DIMAp/UFRN – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 39
Provided by: ufp49
Category:
Tags: naive | prepara | string

less

Transcript and Presenter's Notes

Title: Prepara


1
Preparação dos Dados
  • Marcilio Souto
  • DIMAp/UFRN

2
Preparação dos Dados
  • Compreensão dos dados
  • Limpeza
  • Metadado
  • Valores Perdidos
  • Formato de data unificado
  • Nominal para numérico
  • Discretização
  • Seleção de atributos e falsos preditores
  • Distribuição desbalanceada de classes

3
Processo de Descoberta de Conhecimento
Estima-se que a Preparação dos Dados consume
70-80 do tempo e esforço
4
Entendimento dos Dados Relevância
  • Que dados estão disponíveis para a tarefa?
  • Os dados são relevantes?
  • Há dados relevantes adicionais?
  • Qual a quantidade de dados históricos
    disponível?
  • Quem é o especialista dos dados?

5
Entendimento dos Dados Quantidade
  • Número de instâncias (registros)
  • Heurística 5000 ou mais é desejável
  • Se menos, os resultados são menos confiáveis use
    métodos especiais (cross-validation, boostrap,
    ...)
  • Caso o conjunto seja muito grande, use métodos de
    seleção de instâncias
  • Número de atributos (campos)
  • Caso o número de atributos seja muito alto, use
    seleção ou redução de atributos
  • Alto vai depender, entre outras coisas, do
    número de instâncias disponível
  • 5000 instâncias em que cada instância possui 600
    atributos X 200 instâncias em que cada instância
    possui 600 atributos
  • Número de instâncias por classe
  • Para conjuntos desbalanceados (número de
    instâncias por classe diferentes), use uma
    amostragem extratificada

6
Limpeza do Dados Passos
  • Aquisição de dados e metadados
  • Valores perdidos
  • Formato de data unificado
  • Conversão de dados nominal para numérico
  • Discretização de dados numéricos
  • Validação dos dados e estatística

7
Limpeza dos Dados Aquisição
  • Os dados podem estar em SGBD
  • ODBC, JDBC
  • Dados em flat file (tabela de dados)
  • Formato largura fixa
  • Formato delimitado TAB, ponto-e-vírgula, ...
  • O formato ARFF do WEKA usa vírgula como
    delimitador
  • Atenção converte também delimitadores dentro
    de valores de atributos do tipo string
  • Verifique o número de atributos antes e depois do
    processamento

8
Limpeza dos Dados Exemplo
  • Dados originais (formato largura fixa)
  • Dados limpos

000000000130.06.19971979-10-3080145722
000310 111000301.01.000100000000004
0000000000000.000000000000000.00000000000
0000.000000000000000.000000000000000.0000000000000
00.000000000000000. 000000000000000.00000000000000
0.0000000... 000000000000000.000000000000000.0000
00000000000.000000000000000.000000000000000.000000
000000000.000000000000000.000000000000000.00000000
0000000.000000000000000.000000000000000.0000000000
00000.000000000000000.000000000000000.000000000000
000.000000000000000.000000000000000.00000000000000
0.000000000000000.000000000000000.000000000000000.
000000000000000.00 0000000000300.00
0000000000300.00
0000000001,199706,1979.833,8014,5722 ,
,000310 . ,111,03,000101,0,04,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0300,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0300,0300.00
9
Limpeza dos Dados Metadados
  • Tipos de atributos
  • Nominal, ordinal, numérico (escalar e razão)
  • Para atributos nominais, definir tabelas que
    traduzam a codificação para as descrições
    completas
  • Papel do atributo
  • Entrada instâncias para a modelagem (e.g.,
    criação de uma árvore de decisão)
  • Objetivo saída
  • Identificação da Instância mantenha-o, mas não o
    use para a modelagem
  • Ignore não o use para a modelagem
  • Peso peso da instância
  • ....
  • Descritores de atributos

10
Limpeza dos Dados Reformatação
  • Conversão dos dados para um formato padrão (e.g.,
    ARFF ou CSV)
  • Valores perdidos
  • Formato unificado para data
  • Discretização de dados numéricos
  • Correção de erros e observações atípicas
    (outliers)
  • Conversão de atributos ordinais para numérico
    (caso a implementação do método a ser utilizado
    não trabalhe diretamente com esse tipo de
    atributo)
  • Por quê? Para ser capaz de utilizar comparações
    do tipo gt e lt para esses atributos

11
Limpeza dos Dados Valores Perdidos (1/4)
  • Dados perdidos
  • Valor de atributo não disponível de uma instância
    sobre a qual outros valores de atributos estão
    disponíveis
  • Processo de dados perdidos
  • Qualquer evento sistemático externo ao
    respondente (como erros na entrada de dados ou
    problemas na coleta de dados) ou ação por parte
    do respondente (como recusa a responder) que
    conduz a valores perdidos
  • Alguns processos de dados perdidos são fáceis de
    identificar e resolver
  • Por exemplo, o valor de um atributo
    anos-de-casado seria inexistente (não
    aplicável) no caso de instâncias que representem
    adultos que nunca foram casados
  • Outros processos de dados perdidos não são tão
    fáceis de identificar e acomodar
  • Por exemplo, em certos contextos, o valor de um
    atributo renda pode não estar disponível porque
    a pessoa não quis informá-lo

12
Limpeza dos Dados Valores Perdidos (2/4)
  • Identificação do processo de dados perdidos
  • Os dados perdidos estão distribuídos ao acaso
    pelas instâncias ou são padrões distintos
    identificáveis?
  • Qual é a freqüência dos dados perdidos?
  • O impacto dos dados perdidos é prejudicial
  • Tendências ocultas potenciais sobre o
    resultado
  • Impacto prático no tamanho do conjunto de dados
    (amostra) disponível
  • Se atitudes corretivas sobre dados perdidos não
    são aplicadas, qualquer instância com atributos
    com valores perdidos será excluída da base de
    dados

13
Limpeza dos Dados Valores Perdidos (3/4)
  • Dados perdidos ao acaso
  • Considere, para fins de ilustração, dois
    atributos X (e.g., sexo) e Y (e.g., renda) de
    um conjunto de instâncias m (e.g., clientes de um
    banco). X não apresenta dados perdidos para as m
    instâncias, mas Y tem alguns. Se um processo de
    dados perdidos é identificado entre X e Y, em que
    há diferenças significastes nos valores de X que
    entre os casos para Y com dados válidos e
    perdidos, então os dados perdidos não aleatórios.
  • Qualquer análise deve acomodar explicitamente o
    processo de dados perdidos entre X e Y, sob pena
    de serem introduzidas tendências nos resultados
  • Exemplo
  • Atributos sexo e renda
  • Primeiro, formaríamos dois grupos de instâncias,
    aquelas com dados perdidos para renda familiar e
    e aquelas que possuem este valor
  • Compararíamos então os percentuais de sexo para
    cada grupo
  • Se um sexo (e.g., masculino) fosse encontrado em
    maior proporção no grupo de dados perdidos,
    suspeitaríamos de um processo de dados perdidos
    não-aleatório
  • Teste t-student para valores numéricos
  • Deve-se analisar vários atributos para ver se um
    padrão consistente aparece
  • Um segundo tratamento, uso correlações
    dicotomizadas para avaliar dados perdidos para
    qualquer par de atributos

14
Limpeza dos Dados Valores Perdidos (4/4)
  • Dados completamente perdidos ao acaso
  • Nesses casos, os valores observados de Y (e.g.,
    renda) são verdadeiramente uma amostra
    aleatória de todos os valores de Y, sem qualquer
    processo inerente que conduza a tendências para
    os dados observados
  • No exemplo anterior, isso seria mostrado pelo
    fato de que dados perdidos para renda familiar
    seriam perdidos ao acaso em iguais proporções
    tanto para o sexo masculino quanto para o
    feminino
  • Se essa é a forma do processo de dados perdidos,
    quaisquer atitudes corretivas podem ser aplicadas
    sem levar em consideração o impacto de qualquer
    outra variável ou do processo de dados perdidos

15
Dados Completamente Perdidos ao Acaso (1/2)
  • Tratamento
  • Abordagem de caso completo
  • Incluir na base de dados apenas aquelas
    instâncias com dados completos
  • Mais apropriada a casos nos quais a quantidade de
    dados perdidos é pequena, o conjunto de dados
    (amostra) é suficientemente grande para permitir
    a exclusão das instâncias com dados perdidos
  • Desconsidere instância(s) e/ou atributo(s)
  • Determina-se a extensão dos dados perdidos em
    cada instância e atributo. Baseado nisto, são
    excluídos as instâncias e/ou atributos com níveis
    excessivos
  • De fato, pode-se descobrir que os dados perdidos
    estão concentrados em um pequeno subconjunto de
    instâncias e/ou atributos, sendo que sua exclusão
    reduz substancialmente a extensão dos dados
    perdidos
  • Não existem orientações seguras sobre o nível
    necessário para a exclusão, mas qualquer decisão
    deve ser baseada em considerações empíricas e
    teóricas
  • Se são descobertos valores perdidos no atributo
    que representa a classe (saída desejada),
    também chamada de variável dependente, a referida
    instância é excluída do conjunto de dados
  • Se um atributo é eliminado, é recomendável que
    existam atributos alternativos que sejam
    altamente correlacionados com este, tal que possa
    representa sua influência

16
Dados Completamente Perdidos ao Acaso (2/2)
  • Tratamento
  • Método de atribuição
  • Atribuição é o processo de estimação de valores
    perdidos com base em valores válidos de outros
    atributos ou instâncias na base de dados
  • Substituição pela média (ou moda) troca os
    valores perdidos de um dado atributo pelo valor
    médio do atributo para todo o conjunto (ou para o
    valor médio do atributo apenas para as instâncias
    na mesma classe)
  • Atribuição por carta marcada similar ao
    anterior, apenas o valor é definido é definido
    por fontes externas
  • Atribuição por regressão análise de regressão é
    usada para prever os valores perdidos de um
    atributo com base em sua relação com outros
    atributos no conjunto de dados
  • Atribuição múltipla dois os mais métodos de
    atribuição são usados para derivar uma estimativa
    composta para o valor perdido
  • Válido apenas para atributos com valores métricos
  • Por exemplo, como substituir o valor perdido para
    um atributo nominal como sexo?

17
Limpeza dos Dados Formato de Data Unificado
  • Todas as datas devem ser transformadas para o
    mesmo formato interno
  • Alguns sistemas aceitam datas em vários formatos
  • Sep 24, 2004, 9/24/03, 24.09.2003, entre
    outros
  • Datas são transformadas internamente para um
    valor padrão
  • Representação de datas como AAAAMM ou AAAAMMDD
    pode ser OK, mas tem problemas
  • AAAAMMDD não preserva intervalos
  • 20040201 - 20040131 / 20040131 - 20040201

18
Opções de Formato de Data Unificado
  • A fim de se preservar intervalo, podemos usar
  • Sistema de data do Unix número de segundos desde
    1970
  • Número de dias desde 01/Jan/1960 (SAS)
  • Problemas
  • Valores não são óbvios
  • Não ajuda a intuição e descoberta de conhecimento
  • Mais difícil de verificar, mas fácil de cometer
    um erro

19
Formato de Data KSP
  • dias_iniciando_Jan_1 - 0.5
  • Data KSP AAAA --------------------------------
    - 365 1_se_ano_bissexto
  • Preserva intervalo (quase)
  • O ano, como também suas subdivisões (semestres,
    trimestres, etc.) são óbvios
  • 01/01/2005 é 2005 (1 - 0.5)/365 2005.0014
  • 31/03/2005 é 2005 (90 - 0.5)/365 2005.2452
  • 30/06/2005 é 2005 (181 - 0.5)/356
    2005.4945
  • Pode ser estendida para incluir hora

20
Conversão Nominal para Numérico
  • Algumas técnicas de AM manipulam internamente
    apenas com valores nominais
  • Outras (redes neurais, regressão, k-NN) só
    trabalham com entradas numéricas
  • Os valores de atributos nominais precisam ser
    transformados em valores numéricos
  • Existem estratégias diferentes para atributos com
    valor binário, ordinal e nominal multi-valorado

21
Conversão Binário para Numérico
  • Atributos binários
  • Exemplo Sexo (M)asculino ,(F)eminino
  • Converta para o Atributo_0_1 com os valores 0,1
  • Sexo M ? Sexo_0_1 0
  • Sexo F ? Sexo_0_1 1

22
Conversão Ordinal para Numérico
  • Atributos ordinais (e.g., grau_de_satisfação com
    um produto) podem ser convertidos para números
    preservando a ordem natural
  • Muito Satisfeito ? 0.8
  • Satisfeito ? 0.6
  • Pouco Satisfeito ? 0.4
  • Insatisfeito ? 0.2
  • Por que é importante preservar a ordem natural?
  • Para permitir comparações que façam sentido
    grau_de_satisfação gt 0.4

23
Conversão Nominal - Poucos Valores
  • Atributos nominais multi-valorados um número
    pequeno de possíveis valores (e.g., lt 20)
  • Religião Católica, Protestante, Budista, ...,
    Outras
  • Para cada valor v de Religião, crie um um
    atributo binário R_v, que será 1 se Religião v,
    0 caso contrário

24
Conversão Nominal - Muitos Valores
  • Exemplos
  • Código Postal (CEP) de uma cidade
  • Profissão (7000 valores, apenas algumas são mais
    freqüentes)
  • Ignore atributos cujos valores são únicos para
    cada instância RG, CPF, matrícula SIAPE, ...
  • Para outros atributos, agrupe valores
    naturalmente
  • 150 bairros (CEP) de Recife ? 3 ou 5 regiões
  • Profissões - selecione a mais freqüentes, agrupe
    o resto
  • Crie atributos binários para os valores
    selecionados

25
Limpeza dos Dados Discretização
  • Alguns algoritmos de AM manipulam apenas com
    atributos com valores nominais
  • Algumas implementações do Naive, CHAID, ...
  • Para usá-los com bases de dados gerais, os
    atributos numéricos têm que ser, primeiro,
    discretizados em um pequeno número de
    intervalos distintos
  • Além disso, embora a maioria dos algoritmos de
    indução de árvore de decisão ou regras possam
    lidar com atributos com valores numéricos,
    algumas implementações tornam-se muito lentas
    quando este tipo de atributo está presente
  • No processo de indução, os valores desses
    atributos são repetidamente ordenados

26
(No Transcript)
27
Discretização Intervalos com Largura Fixa
  • Não leva em consideração as classes no conjunto
    de dados - discretização não-supervisionada
  • Pode destruir distinções que poderiam ser útil
    para o algoritmo de aprendizado
  • Tamanho do intervalo muito pequeno ou grande que
    termina por colocar, para o atributo, muitas
    instâncias de classes diferentes juntas

28
Discretização Entropia
  • Mesmo critério usado para a divisão de um
    atributo numérico em árvores de decisão
  • Ganho de Informação (Intervalo) Entropia-Atual
    - Entropia-Depois-Divisao-do-Intervalo
  • A cada passo, escolha o Intervalo para o qual o
    Ganho de Informação é máximo
  • Leva em consideração as classes no conjunto de
    dados - discretização supervisionada
  • Exemplo - Temperatura
  • 64 65 68 69 70 71 72 75 80 81 83 85
  • Y N Y Y Y N N Y N Y Y N

66.5 70.5 73.5 77.5 80.5 84
29
Limpeza dos Dados Observações Atípicas (Outliers)
  • Uma instância com uma combinação única de valores
    de atributos identificáveis como sendo
    notadamente diferente das outras instâncias
  • As instâncias atípicas não podem ser
    categoricamente caracterizadas como benéficas ou
    problemáticas
  • Devem ser vistas no contexto da análise e
    avaliadas pelos tipos de informação que possam
    fornecer
  • Benéficas podem ser indicativas de
    características da população que não seriam
    descobertas no curso normal da análise
  • Problemáticas não são representativas da
    população, são contrárias aos objetivos da
    análise e podem confundir os algoritmos de
    aprendizado

30
Por que ocorrem observações atípicas?
  • Erro na entrada de dados ou codificação
  • Essas observações devem ser eliminadas da amostra
    - ou os valores atípicos devem ser considerados
    como dados perdidos
  • Resultado de um evento extraordinário, o que
    explica a peculiaridade da observação
  • Deve-se decidir se essa observação deve fazer
    parte da amostra (conjunto de dados)
  • Resultado de em evento extraordinário, mas que
    não há explicação
  • Em geral, são descartadas da amostra
  • Observações que estão no intervalo usual de
    valores para cada atributo, mas são únicas em
    suas combinações de valores entre atributos
  • Em geral, são mantidas na amostra

31
Identificação de observações atípicas
  • Detecção univariada
  • Padronizar os valores dos atributos média de 0 e
    desvio-padrão de 1
  • Considerar como observações atípicas aquelas
    instâncias que possuam valores de atributos com
    escore padrão 2.5 (4.0 para amostras como mais de
    80 instâncias) ou mais
  • Detecção bivariada
  • Pares de atributos podem ser analisados
    conjuntamente por meio de um diagrama de
    dispersão (gráficos bidimensionais)
  • Instâncias que notoriamente estão fora do
    intervalo das outras observações podem ser
    percebidos como pontos isolados no diagrama de
    dispersão
  • Detecção multivariada
  • A posição multidimensional de cada instância é
    medida em relação a um ponto comum
  • A medida D2 de Mahalanobis pode ser usada para
    esse propósito
  • Ela é uma medida da distância, em um espaço
    multidimensional, de cada instância em relação ao
    centro médio das instâncias
  • Testes estatísticos de signifîcância

32
Limpeza dos Dados Falsos Preditores
  • São atributos correlacionados ao comportamento
    objetivo, que descrevem eventos que ocorrem ao
    mesmo tempo ou após o comportamento objetivo
  • Se bancos de dados não possuem as datas do
    eventos, um falso preditor aparecerá como um bom
    preditor
  • Data do cancelamento de um serviço é um falso
    preditor para prever desentendimentos
  • A média final de um estudante para prever se o
    mesmo foi aprovado no curso

33
Falsos Preditores encontrando suspeitos
  • Para cada atributo
  • Construa uma árvore de decisão com apenas este
    atributo
  • Ou, no caso de regressão, compute a correlação
    com o atributo que representa a saída desejada
  • Ordene todos os atributos de acordo com a
    acurácia da respectiva árvore (ou correlação)
  • Remova todos os atributos cuja acurácia é próxima
    a 100 (este limiar é dependente do domínio)
  • Verifique os suspeitos usando conhecimento do
    domínio ou com um especialista

34
Limpeza dos Dados Transformações de Dados (1/4)
  • Um atributo pode ter uma característica
    indesejável, como não normalidade
  • Por exemplo, muitos implementações do Naive
    assumem que a ocorrência dos valores de atributos
    numéricos obedecem a uma distribuição normal
  • Atributos medidos em escalas com grau de
    magnitude muito diferente apresentam
    características indesejáveis
  • Quando medidas de distâncias são usadas (k-NN,
    métodos de agrupamento)
  • Para o ajuste dos pesos de uma rede neural

35
(No Transcript)
36
(No Transcript)
37
Limpeza dos Dados Transformações de Dados (4/4)
  • Transformação por causa de unidades diferentes
    ou dispersões muito heterogêneas
  • Escalonamento para 0,1 dos valores de um
    atributo X
  • Valor-Escalonado (x - min_X)/(max_X - min_X)
  • Padronização dos valores de um atributo X (média
    de zero e desvio padrão de 1)
  • Escore-Padrão (x - média_X)/desvio_padrão_X

38
Bibliografia
  • Witten, I. H. and Frank, E. (1999). Data Mining
    practical machine learning tools and techniques
    with Java implementations. Chapter 7 - Moving on
    Engineering the input and output?, pp. 229-264.
    Morgan Kaufmann.
  • Hair-Jr., J. F. (2005). Análise Multivariada de
    Dados. Capítulo 2 - Examine seus dados, pp.
    49-88. Bookman.
Write a Comment
User Comments (0)
About PowerShow.com