Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula07 Preprocessamento MDB
Aula07 Preprocessamento MDB
27/02/08 2
Pré-processamento Exemplo
Prepara os dados para uso de algoritmo Primeiro passo:
de modelagem Eliminar atributos irrelevantes
Procura melhorar desempenho do Nome Febre Enjôo Mancha Dor Salário Diagnóstico
algoritmo
João sim sim pequena sim 1000 doente
Custo Pedro não não pequena não 1100 saudável
Tempo Maria sim sim grande não 600 saudável
José sim não pequena sim 2000 doente
Memória
Ana sim não grande sim 1800 saudável
Qualidade Leila não não grande sim 900 doente
27/02/08 3 27/02/08 4
1
Amostragem de dados Amostragem de dados
Tipos de amostragem
Amostragem aleatória simples
Amostragem estratificada
Amostragem progressiva
Doente
Saudável
27/02/08 7 27/02/08 8
Doente Doente
Saudável Saudável
27/02/08 9 27/02/08 10
2
Qualidade de dados Qualidade de dados
Em geral, dados não foram gerados para uso Problemas podem ocorrer nos
em AM processos de medições e na coleta de
Produzidos para outros propósitos
Frequentemente apresentam problemas dados
Algoritmos de AM precisam geralmente de Erros podem ter causa
dados “limpos” Sistemática
Entra lixo, sai lixo Mais fácil de detectar e corrigir
Problemas nos dados precisam ser detectados e “Aleatória”
corrigidos
Limpeza de dados
27/02/08 13 27/02/08 14
Limpeza Ruídos
Correção de erros detectados nos dados Dados com ruídos podem levar a um super-
Deve lidar com: ajuste do modelo
Dados com ruídos Não é possível ter certeza de que um valor
Outliers apresenta ruído
Dados incompletos ou atributos com Tem-se apenas um indício, a menos que seja
valores ausentes inconsistente
Dados inconsistentes Outliers podem sugerir a presença de ruído
Dados redundantes Nos atributos de entrada ou no atributo alvo
Consequências diferentes
27/02/08 17 27/02/08 18
3
Exemplo Outliers
Doente Existem várias definições
Saudável
Possíveis Objetos ou valores anômalos
ruídos Objetos que têm características diferentes da
maioria dos demais objetos
Valores de um atributo que destoam dos valores típicos
para o atributo
27/02/08 19 27/02/08 20
27/02/08 23 27/02/08 24
4
Valores ausentes Valores ausentes
Estimativa de valores ausentes Heurísticas para estimativa:
Utilizar algum método ou heurística para Criação de um novo valor
Dados categóricos nominais (sem ordem)
automaticamente definir valores
Média (mediana, moda) de todos os valores do
Alternativa mais utilizada
atributo
Diferentes abordagens podem ser seguidas Para série de valores, entre valores anterior e posterior
Moda = valor ou intervalo mais freqüente
Média (mediana, moda) dos vizinhos mais próximos
Valor induzido por algum estimador
Valor presente em exemplos semelhantes
27/02/08 25 27/02/08 26
27/02/08 27 27/02/08 28
27/02/08 29 27/02/08 30
5
Valores redundantes Exemplo
Valores que não trazem informação nova Dados redundantes
Dados (quase) duplicados
Ex.: Pessoas em diferentes BDs com mesmo Nome Febre Enjôo Mancha Dor Salário Diagnóstico
endereço e pequenas diferenças nos nomes
João sim sim pequena sim 1000 doente
Deduplicação Pedro não não pequena não 1100 saudável
Maria sim sim grande não 600 saudável
Detectar e eliminar (ou combinar) duplicações José sim não pequena sim 2000 doente
Cuidado para não eliminar ou combinar dados que Sérgio não não pequena não 1100 saudável
representam objetos diferentes Ana sim não grande sim 1800 saudável
Leila não não grande sim 900 doente
Marta sim não pequena sim 2000 doente
27/02/08 31 27/02/08 32
Exemplo Exercício
Definir problemas existentes na tabela
Dados redundantes
abaixo:
Nome Febre Enjôo Mancha Dor Salário Diagnóstico Nome Profissão Nível Peso Altura Salário Situação
João Encanador 70 180 3000 adimplente
João sim sim pequena sim 1000 doente Lia Médico Superior 200 174 7000 inadimplente
Pedro não não pequena não 1100 saudável Maria Advogado Médio 90 180 600 adimplente
José Médico Superior 200 174 7000 inadimplente
Maria sim sim grande não 600 saudável
Sérgio Bancário Superior 82 178 5000 inadimplente
José sim não pequena sim 2000 doente
Ana Professor Fundam. 77 188 1800 adimplente
Sérgio não não pequena não 1100 saudável Luísa Médico Superior 100 -6 2000 inadimplente
Ana sim não grande sim 1800 saudável
Leila não não grande sim 900 doente
Marta sim não pequena sim 2000 doente
27/02/08 33 27/02/08 34
6
Conversão ordinal para binário Conversão nominal para binário
Codificar para valor inteiro positivo Codificações
Ex. Pequeno (1), médio (2) e grande (3) 1-de-n
Algumas técnicas trabalham apenas Codificação canônica
com valores binários Moda = posição com maior número de valores 1
Codificar cada valor por um vetor binário Valores escalares podem virar vetores longos
Código cinza: m-de-n
000, 010, 011, 001, 101, 111, 110, 100 Dos n valores, m são iguais a 1
Código termômetro: Escolha de código
001, 011, 111
Bioinformática Bioinformática
Análise de sequências de nucleotídeos Alternativas para codificação numérica
ou de aminoácidos de seqüências de bioinformática
Grande número de atributos Código 1-de-n para cada valor
Valor definido de um alfabeto de 4 (nucleotídeos) Freqüência com que cada valor aparece
ou de 20 (aminoácidos) possíveis valores
Ordem dos valores dos atributos na seqüência é
Freqüência com que subsequência de n
importante valores aparece
Mas valores não são ordenados Dividir a seqüência em m trechos e utilizar
Reconhecimento de genes, previsão de a freqüência dos valores em cada trecho
estrutura de proteínas Preserva parte da ordem
7
Exemplo Exemplo
Atributo = nome de país Outra alternativa:
193 (192 representados na ONU + Vaticano) Transformar 193 atributos em 4 (10)
Maldição da dimensionalidade pseudo-atributos
Grande parte dos elementos possui valor 0 Continente: 7 valores
Esparsos 1 0 0 0 PIB: 1 valor
1 2 193
População: 1 valor
0 1 0 0 Área: 1 valor
1 2 193
0 0 0 1
1 2 193
André de Carvalho - ICMC/USP 43 André de Carvalho - ICMC/USP 44
8
Re-escala Exercício
Para re-escalar os valores de um atributo: Re-escalar os valores 12, 5, 4, 10, 20, 3 para
1. Adicionar ou subtrair uma constante o intervalo [-1, +1]
2. Multiplicar ou dividir por uma constante
Utilizado para mudar intervalo de valores
dos dados
Permite converter todos os valores de um
atributo para o intervalo [0, 1]
( d − min d )
d ´=
(max d − min d )
Padronização Exercício
Para padronizar os valores de um atributo: Converter os seguintes valores numéricos
1. Adicionar ou subtrair uma medida de localização utilizando re-escala e padronização
2. Multiplicar ou dividir por uma medida de escala Valores Re-escala Padronização
3
Se os valores têm uma distribuição 9
Gaussiana 5
11
Subtrair a média 5
Dividir pelo desvio padrão 7
Produz conjunto de valores com distribuição 1 n
normal (0,1) var(v ) = ∑ (vi − v )2
n − 1 i =1
André de Carvalho - ICMC/USP 51 André de Carvalho - ICMC/USP 52
9
Tradução Maldição da dimensionalidade
Ocorre devido a limitações no formato Supor que dados são representados por
utilizado para armazenar o atributo pontos em um hipervolume
Alguns algoritmos podem ter dificuldades Valores dos atributos são os valores das
com formato original coordenadas
Exemplos Doente
Saudável
Conversão de hora para valor inteiro
Conversão de data para valor inteiro
Conversão de rua para código postal
27/02/08 57 27/02/08 58
10
Redução de dimensionalidade Seleção de atributos
Alguns conjuntos podem ter um número Permite
muito grande de atributos Identificar atributos importantes
Ex.: objeto é um vetor com frequência de cada
Melhorar desempenho de algoritmo de
palavra que aparece em um texto
para indução de modelos
Reduzir dimensão
Minimizar os efeitos de ruídos
Agregação de atributos
Criar novos atributos que são uma combinação dos
Reduzir custo de coleta de dados
atributos originais Aumentar acesso à tecnologia
Seleção de atributos
27/02/08 61 27/02/08 62
27/02/08 63 64
Filtros Filtros
Vantagens Desvantagens
Não depende do algoritmo de AM Ignora interação com o algoritmo
Os atributos selecionados podem ser utilizados Não levar o viés do algoritmo em consideração
por diferentes algoritmos de AM pode levar a modelos pouco eficientes
Baixo custo computacional Pode ignorar dependências entre atributos
Podem ser muito rápidos
Conseguem lidar de forma eficiente com
uma grande quantidade de dados
65 66
11
Wrappers Wrappers
Utilizam o algoritmo de AM para selecionar Vantagens
atributos Melhor conjunto para um dado algoritmo
Ex. Atributos que levaram a menos erros de Pode selecionar também melhor número de
classificação para uma rede MLP atributos
Geralmente melhora desempenho obtido
pelo algoritmo
67 68
1 2 3 4 5 6 7 8 9 10
69 27/02/08 70
Exercício Exercício
Ordenar os atributos mais importantes Escores:
para o diagnóstico de pacientes Febre: 3/6
Febre Enjôo Manchas Dores Diagnóstico Enjôo: 5/6
Febre Enjôo Mancha Dor Diagnóstico Manchas: 4/6
1 0 0 1 0 Febre: 3/6
0 1 0 1 1
1 1 1 1 0 1 1 1 0 1 Dores: 3/6
0 1 0 1 1 1 0 0 1 0
1 1 1 0 1 1 0 1 1 1 Ranking:
1 0 0 1 0 0 0 1 0 0 1- Enjôo
1 0 1 1 1 2- Manchas
0 0 1 0 0 3- Febre
4- Dores
André Ponce de Leon F de André Ponce de Leon F de
Carvalho 71 Carvalho 72
12
Exercício Exercício
Selecionar o subconjunto de atributos mais
importantes para o diagnóstico de pacientes Febre Enjôo Mancha Dor Diagnóstico
Wrapper
1 1 0 1 0
0 1 0 0 1
Febre Enjôo Manchas Dores Diagnóstico 1 1 1 0 1
1 0 0 1 0
1 1 0 1 0 1 0 1 1 1
0 1 0 0 1 0 0 1 1 0
1 1 1 0 1
1 0 0 1 0 Febre ⊗ mancha
1 0 1 1 1
0 0 1 1 0 coincide
André Ponce de Leon F de André Ponce de Leon F de
Carvalho 73 Carvalho 74
13
Estratégia de busca Considerações finais
Define o algoritmo usado para realizar a busca Pré-processamento
Busca completa (exponencial ou exaustiva) Amostragem
Avalia todos os possíveis subconjuntos
Limpeza de dados
Busca heurística (sequencial)
Utiliza regras e métodos para conduzir a busca Transformação de dados
Não garante que uma solução ótima seja encontrada Redução do número de atributos
Busca não-determinística
Relacionado com a geração estocástica
Boa solução pode ser encontrada antes do final da busca
Não garante ótimo
Perguntas Exercício
Escolher 3 conjuntos de dados da UCI e, para
cada conjunto
Aplicar uma técnica de amostragem dos dados
Aplicar técnicas para limpeza de dados
Criar uma variação com todos os atributos
numéricos
Criar uma variação com todos os atributos
simbólicos
Selecionar atributos usando uma técnica baseada
em filtro e uma baseada em wrapper
27/02/08 81 27/02/08 82
14