Você está na página 1de 14

Mineração de Dados em

Biologia Molecular Tópicos


Pré-processamento Introdução
de dados Amostragem
Qualidade de Dados
Limpeza de Dados
Transformação de dados
André C. P. L. F. de Carvalho Seleção de atributos
Monitor: Valéria Carvalho

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

Amostragem de dados Amostragem de dados


Seleção de objetos Amostra representativa
Base de dados grande Aproximadamente as mesmas propriedade
Algoritmo de AM não precisa usar todo conjunto de interesse do conjunto de dados original
de dados Ex.: médiapop-original = médiaamostra
Eficiência X acurácia Deve fornecer uma estimativa da
Amostra informação contida na população original
Pode levar à mesma acurácia com um esforço
Uso da amostra deve ter efeito semelhante
computacional menor ao uso de toda a população
Não é possível garantir que isso ocorra
Deve ser representativa
Técnicas de amostragem aumentam as chances
27/02/08 5 27/02/08 6

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

Amostragem de dados Amostragem de dados

Doente Doente
Saudável Saudável
27/02/08 9 27/02/08 10

Amostragem de dados Dados desbalanceados


Amostragem progressiva Quando número de exemplos varia para as
Começa com pequenas amostras diferentes classes
Progressivamente aumenta tamanho da Natural em alguns domínios
amostra Problema com geração / coleta de dados
Enquanto acurácia do modelo preditivo aumentar Várias técnicas de AM não conseguem lidar
Confirmar com outras amostras de tamanho com esse problema
semelhante à escolhida Tendência a classificar na(s) classe(s)
Boa estimativa de um bom tamanho majoritária(s)
Alternativa: balanceamento artificial
27/02/08 11 27/02/08 12

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

Qualidade de dados Qualidade de dados


Exemplos de causas: Consequências:
Falha humana Valores ou objetos inteiros podem ser
Falha no processo de coleta de dados perdidos
Objetos espúrios ou duplicados podem ser
Limitações do dispositivo de medição
obtidos
Má fé Ex.: diferentes registros para mesma pessoa
Valor do atributo alvo muda com o tempo que morou em endereços diferentes
Inconsistências
Ex.: pessoa com 2 m pesando 10 Kg, idade e
data de nascimento
27/02/08 15 27/02/08 16

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

Ao contrário de ruídos, outliers podem ser


objetos ou valores legítimos
Dados sem ruído Dados com ruído Em várias aplicações, objetivo é encontrar outliers

27/02/08 19 27/02/08 20

Outliers Valores ausentes


Não é raro um objeto não ter o valor de um
Doente ou mais atributos
Saudável
Possíveis causas:
– Atributo não foi considerado – Não necessidade ou obrigação
quando os primeiros dados de apresentar um valor para
foram coletados atributo(s) de algumas
– Desconhecimento do valor do instâncias
atributo por ocasião do – Inexistência de valor para o
preenchimento atributo em algumas instâncias
– Distração, mal entendido ou – Problema com dispositivo /
declinamento na hora do processo de coleta
preenchimento
27/02/08 21 27/02/08 22

Valores ausentes Valores ausentes


Alternativas Descartar exemplos
Ignorar valores ausentes Geralmente empregada quando um dos
Utilizar apenas os que estão presentes nas instâncias atributos ausentes é o atributo classe
consideradas
Ex.: Menos atributos na medida de distância Não é indicada quando:
Modificar algoritmo para lidar com valores ausentes Ocorre com poucos atributos do exemplo
Descartar exemplos com atributos que Número de atributos com valores ausentes varia
apresentem valores ausentes muito entre os exemplos com esse problema
Estimar valores ausentes Há risco de descartar dados importantes

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

Valores ausentes Exercício


Observações Tratar dos valores ausentes da tabela abaixo
Em alguns casos, a ausência de valor é uma
informação importante sobre a instância
Nome Profissão Nível Peso Altura Salário Situação
Existem situações em que o valor precisa estar João Encanador Médio 70 180 3000 adimplente
ausente Lia Superior 200 174 7000 inadimplente
Ex.: Resultado de exame pré-natal para paciente do sexo Maria Advogado Médio 180 600 adimplente
masculino José Médico Superior 100 2000 inadimplente
Atributo número de partos para paciente do sexo masculino pode Sérgio Bancário 82 178 5000 inadimplente
ter valor 0 Ana Professor Fundam. 77 188 1800 adimplente
Ao invés de ausente, é um valor inexistente Luísa Médico Superior 100 36 2000 inadimplente
José Médico Médio 340 800
Difícil tratar de forma automática

27/02/08 27 27/02/08 28

Valores inconsistentes Valores inconsistentes


Dados podem conter valores inconsistentes Algumas inconsistências são de fácil detecção
Atributos preditivos Violação de relações conhecidas entre atributos
Ex. Dados com código postal invalido para o nome de Ex.: Valor de atributo A é sempre menor que valor de
rua especificado atributo B
Erro / engano Valor inválido para o atributo
Proposital (fraude)
Ex.: altura com valor negativo
Atributo alvo Em outros casos, informações adicionais precisam
Podem levar a exemplos conflitantes ser verificadas
Ex.: valores iguais para atributos de entrada e diferentes
para atributo de saída

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

Transformação de dados Conversão de valores simbólicos


Conversão de valores numéricos para Algumas técnicas trabalham apenas com
simbólicos valores numéricos
Valores simbólicos precisam ser convertidos para
Conversão de valores simbólicos para numéricos
numéricos Conversão depende de:
Binarização Ordenação dos valores
Presente ou ausente
Normalização de valores numéricos
Número de valores
Tradução de atributos = 2 (binários) ou > 2

André de Carvalho - ICMC/USP 35 André de Carvalho - ICMC/USP 36

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

André de Carvalho - ICMC/USP 37 27/02/08 38

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

André de Carvalho - ICMC/USP 39 André de Carvalho - ICMC/USP 40

Conversão numérico para ordinal Pseudo códigos


Discretização de valores Imagine que um atributo seja nome de
Transformar valores numéricos em intervalos ou país
categorias
Existem 193 países (192 representados na
Sub-tarefas ONU + Vaticano)
Definição do número de categorias
Geralmente feito pelo usuário
Alternativa de codificação:
Definição de como mapear valores dos atributos Transformar valores nominais em valores
contínuos para essas categorias numéricos utilizando a codificação 1-de-n
Definição do frequência/largura dos intervalos
Geralmente feito por um algoritmo

André de Carvalho - ICMC/USP 41 André de Carvalho - ICMC/USP 42

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

Transformação de atributos Transformação de atributos


Valor numérico de um atributo pode Aplicada aos valores de um dado atributo de
precisar ser transformado em outro todos os objetos
Ex.: supor que apenas a magnitude do valor de
Limites de valores para atributos distintos
um atributo é importante
podem ser muito diferentes Converter valor de todos os atributos é para o valor
Evitar que um atributo predomine sobre outro absoluto
A menos que isso seja importante -4, 5 e –2 se tornam 4, 5 e 2
Grande intervalo de variação de valores Variações
Pode aumentar custo computacional Funções simples
Normalização

André de Carvalho - ICMC/USP 45 André de Carvalho - ICMC/USP 46

Funções simples Normalização


Uma função matemática simples é Faz com que conjunto de valores de um
aplicada a cada valor do atributo atributo tenha uma dada propriedade
Possíveis transformações: Alternativas
Xk, log x, ex, √x, 1/x, seno(x) e |x| Pela amplitude
Funções sqrt, log e 1/x aproximam uma distribuição
Gaussiana Re-escalar
Função log10 é usada para comprimir dados Padronizar
com um grande intervalo de valores Pela distribuição

André de Carvalho - ICMC/USP 47 André de Carvalho - ICMC/USP 48

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 )

André de Carvalho - ICMC/USP 49 André de Carvalho - ICMC/USP 50

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

Não existe relação de


ordem para os tipos de dor
Exercício Conversão de valores numéricos
Converter os dados abaixo para valores É preferível padronizar a re-escalar
numéricos no intervalo [0, 1] Atributos mais importantes podem ter
Febre Enjôo Mancha Dor Diagnóstico
limites maiores
Padronizar
baixa sim pequena A doente Re-escalar
média não média C saudável
alta sim grande B saudável Normalização pela distribuição
alta não pequena A doente Muda escala de valores
baixa não grande D saudável
média não sem C doente Ex.: função log

André de Carvalho - ICMC/USP 53 André de Carvalho - ICMC/USP 54

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

André de Carvalho - ICMC/USP 55 27/02/08 56

Maldição da dimensionalidade Maldição da dimensionalidade


Hipervolume cresce exponencialmente Dados esparsos
com a adição de novos atributos Sem exemplos em várias das regiões do
Instâncias formadas por 1 atributo com 10 espaço de objetos
possíveis valores: 10 possíveis objetos
Instâncias parecem equidistante
Instâncias formadas por 5 atributos com 10
Prejudica o desempenho de algoritmos que
possíveis valores: 105 possíveis objetos
medem similaridade de dados por distância
Problemas com poucos exemplos e muitos
atributos:
Dados se tornam muito esparsos

27/02/08 57 27/02/08 58

Maldição da dimensionalidade Maldição da dimensionalidade


Número de exemplos necessários para
manter desempenho
Desempenho do classificador

Cresce exponencialmente com o número


de atributos
Na prática, o número de exemplos de
treinamento é fixo
Redução de dimensionalidade
Número de atributos

27/02/08 59 André de Carvalho - ICMC/USP 60

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

Seleção de atributos Filtros


Abordagens Seleção de atributos independe do
Embutida algoritmo de AM utilizado
Seleção é feita pelo algoritmo de AM
Ex.: verifica co-relação entre atributos
Filtro
Wrapper
Heurísticas
Ordenação
Subconjunto

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

Wrappers Ordenação X Seleção


Desvantagens: Atributos originais
1 2 3 4 5 6 7 8 9 10
Risco de overfitting
1 2 3 4 5 6 7 8 9 10
Desempenho depende do algoritmo de indução Ordenação
Atributos ordenados
Custo computacional elevado, por causa do 4 7 2 6 9 1 10 5 8 3
grande número de execuções do algoritmo 1 2 3 4 5 6 7 8 9 10
Atributos originais
Nem sempre, existem estratégias eficientes
Precisa ser repetido quando um novo algoritmo 1 2 3 4 5 6 7 8 9 10
de AM for utilizado Subconjunto de atributos Seleção

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

Seleção de subconjunto Seleção de subconjunto


Quatro aspectos precisam ser tratados:
Busca
Ponto de início da busca e da geração de
subconjuntos
Estratégia de busca
Estratégia de avaliação
Critério de parada

Espaço de busca com quatro atributos (dimensões)


75 76

Geração de subconjuntos Geração de subconjuntos


Existem quatro alternativas
Geração para trás (backward generation)
Começa com todos os atributos e remove um por vez
Geração para frente (forward generation)
Começa sem nenhum atributo e inclui um atributo por vez
Geração bidirecional (biderectional generation)
Busca pode começar em qualquer ponto e atributos
podem ser adicionados e removidos
Geração estocástica (random generation) Backward
Ponto de partida da busca e atributos a serem removidos Feedforward
ou adicionados são decididos de forma estocástica
Bidirecional
77 78

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

79 André de Carvalho - ICMC/USP 80

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

Você também pode gostar