Anda di halaman 1dari 38

Preparao dos Dados

Preparao dos Dados


Compreenso dos dados Limpeza Metadado Valores Perdidos Formato de data unificado Nominal para numrico Discretizao Seleo de atributos e falsos preditores Distribuio desbalanceada de classes
2

Processo de Descoberta de Conhecimento

Estima-se que a Preparao dos Dados consume 70-80% do tempo e esforo

Entendimento dos Dados: Relevncia

Que dados esto disponveis para a tarefa? Os dados so relevantes? H dados relevantes adicionais? Qual a quantidade de dados histricos disponvel? Quem o especialista dos dados?
4

Entendimento dos Dados: Quantidade Nmero de instncias (registros)


Heurstica: 5000 ou mais desejvel Se menos, os resultados so menos confiveis; use mtodos especiais (cross-validation, boostrap, ...) Caso o conjunto seja muito grande, use mtodos de seleo de instncias Caso o nmero de atributos seja muito alto, use seleo ou reduo de atributos Alto vai depender, entre outras coisas, do nmero de instncias disponvel 5000 instncias em que cada instncia possui 600 atributos X 200 instncias em que cada instncia possui 600 atributos Para conjuntos desbalanceados (nmero de instncias por classe diferentes), use uma amostragem extratificada

Nmero de atributos (campos)

Nmero de instncias por classe

Limpeza do Dados: Passos

Aquisio de dados e metadados Valores perdidos Formato de data unificado Converso de dados nominal para numrico Discretizao de dados numricos Validao dos dados e estatstica
6

Limpeza dos Dados: Aquisio

Os dados podem estar em SGBD

ODBC, JDBC

Dados em flat file (tabela de dados)


Formato largura fixa Formato delimitado: TAB, ponto-e-vrgula, ...

O formato ARFF do WEKA usa vrgula como delimitador Ateno: converte tambm delimitadores dentro de valores de atributos do tipo string

Verifique o nmero de atributos antes e depois do processamento

Limpeza dos Dados: Metadados

Tipos de atributos

Nominal, ordinal, numrico (escalar e razo) Para atributos nominais, definir tabelas que traduzam a codificao para as descries completas Entrada: instncias para a modelagem (e.g., criao de uma rvore de deciso) Objetivo: sada Identificao da Instncia: mantenha-o, mas no o use para a modelagem Ignore: no o use para a modelagem Peso: peso da instncia ....
8

Papel do atributo

Descritores de atributos

Limpeza dos Dados: Reformatao

Converso dos dados para um formato padro (e.g., ARFF ou CSV)


Valores perdidos Formato unificado para data Discretizao de dados numricos Correo de erros e observaes atpicas (outliers) Converso de atributos ordinais para numrico (caso a implementao do mtodo a ser utilizado no trabalhe diretamente com esse tipo de atributo)

Por qu? Para ser capaz de utilizar comparaes do tipo > e < para esses atributos

Limpeza dos Dados: Valores Perdidos (1/4)

Dados perdidos

Valor de atributo no disponvel de uma instncia sobre a qual outros valores de atributos esto disponveis

Processo de dados perdidos

Qualquer evento sistemtico externo ao respondente (como erros na entrada de dados ou problemas na coleta de dados) ou ao por parte do respondente (como recusa a responder) que conduz a valores perdidos Alguns processos de dados perdidos so fceis de identificar e resolver

Por exemplo, o valor de um atributo anos-de-casado seria inexistente (no aplicvel) no caso de instncias que representem adultos que nunca foram casados

Outros processos de dados perdidos no so to fceis de identificar e acomodar

Por exemplo, em certos contextos, o valor de um atributo renda pode no estar disponvel porque a pessoa no quis inform-lo 10

Limpeza dos Dados: Valores Perdidos (2/4)

Identificao do processo de dados perdidos

Os dados perdidos esto distribudos ao acaso pelas instncias ou so padres distintos identificveis? Qual a freqncia dos dados perdidos?

O impacto dos dados perdidos prejudicial:

Tendncias ocultas potenciais sobre o resultado Impacto prtico no tamanho do conjunto de dados (amostra) disponvel

Se atitudes corretivas sobre dados perdidos no so aplicadas, qualquer instncia com atributos com valores perdidos ser excluda da base de dados
11

Limpeza dos Dados: Valores Perdidos (3/4)

Dados perdidos ao acaso

Considere, para fins de ilustrao, dois atributos X (e.g., sexo) e Y (e.g., renda) de um conjunto de instncias m (e.g., clientes de um banco). X no apresenta dados perdidos para as m instncias, mas Y tem alguns. Se um processo de dados perdidos identificado entre X e Y, em que h diferenas significastes nos valores de X que entre os casos para Y com dados vlidos e perdidos, ento os dados perdidos no aleatrios. Qualquer anlise deve acomodar explicitamente o processo de dados perdidos entre X e Y, sob pena de serem introduzidas tendncias nos resultados Exemplo:

Atributos sexo e renda Primeiro, formaramos dois grupos de instncias, aquelas com dados perdidos para renda familiar e e aquelas que possuem este valor Compararamos ento os percentuais de sexo para cada grupo Se um sexo (e.g., masculino) fosse encontrado em maior proporo no grupo de dados perdidos, suspeitaramos de um processo de dados perdidos no-aleatrio Teste t-student para valores numricos Deve-se analisar vrios atributos para ver se um padro consistente aparece Um segundo tratamento, uso correlaes dicotomizadas para avaliar dados perdidos para qualquer par de atributos

12

Limpeza dos Dados: Valores Perdidos (4/4)

Dados completamente perdidos ao acaso

Nesses casos, os valores observados de Y (e.g., renda) so verdadeiramente uma amostra aleatria de todos os valores de Y, sem qualquer processo inerente que conduza a tendncias 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 propores 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 considerao o impacto de qualquer outra varivel ou do processo de dados perdidos

13

Dados Completamente Perdidos ao Acaso (1/2)

Tratamento

Abordagem de caso completo


Incluir na base de dados apenas aquelas instncias 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 excluso das instncias com dados perdidos
Determina-se a extenso dos dados perdidos em cada instncia e atributo. Baseado nisto, so excludos as instncias e/ou atributos com nveis excessivos De fato, pode-se descobrir que os dados perdidos esto concentrados em um pequeno subconjunto de instncias e/ou atributos, sendo que sua excluso reduz substancialmente a extenso dos dados perdidos No existem orientaes seguras sobre o nvel necessrio para a excluso, mas qualquer deciso deve ser baseada em consideraes empricas e tericas Se so descobertos valores perdidos no atributo que representa a classe (sada desejada), tambm chamada de varivel dependente, a referida instncia excluda do conjunto de dados Se um atributo eliminado, recomendvel que existam atributos alternativos que sejam altamente correlacionados com este, tal que possa representa sua influncia 14

Desconsidere instncia(s) e/ou atributo(s)

Dados Completamente Perdidos ao Acaso (2/2)

Tratamento

Mtodo de atribuio

Atribuio o processo de estimao de valores perdidos com base em valores vlidos de outros atributos ou instncias na base de dados Substituio pela mdia (ou moda): troca os valores perdidos de um dado atributo pelo valor mdio do atributo para todo o conjunto (ou para o valor mdio do atributo apenas para as instncias na mesma classe) Atribuio por carta marcada: similar ao anterior, apenas o valor definido definido por fontes externas Atribuio por regresso: anlise de regresso usada para prever os valores perdidos de um atributo com base em sua relao com outros atributos no conjunto de dados

Atribuio mltipla: dois os mais mtodos de atribuio so usados para derivar uma estimativa composta para o valor perdido

Vlido apenas para atributos com valores mtricos

Por exemplo, como substituir o valor perdido para um atributo nominal como sexo?
15

Limpeza dos Dados: Formato de Data Unificado

Todas as datas devem ser transformadas para o mesmo formato interno Alguns sistemas aceitam datas em vrios formatos

Sep 24, 2004, 9/24/03, 24.09.2003, entre outros Datas so transformadas internamente para um valor padro Representao de datas como AAAAMM ou AAAAMMDD pode ser OK, mas tem problemas:

AAAAMMDD no preserva intervalos:

20040201 - 20040131 /= 20040131 - 20040201


16

Opes de Formato de Data Unificado

A fim de se preservar intervalo, podemos usar

Sistema de data do Unix: nmero de segundos desde 1970 Nmero de dias desde 01/Jan/1960 (SAS) Problemas

Valores no so bvios No ajuda a intuio e descoberta de conhecimento Mais difcil de verificar, mas fcil de cometer um erro

17

Formato de Data KSP


dias_iniciando_Jan_1 - 0.5

Data KSP = AAAA + --------------------------------365 + 1_se_ano_bissexto Preserva intervalo (quase) O ano, como tambm suas subdivises (semestres, trimestres, etc.) so bvios

01/01/2005 : 2005 + (1 - 0.5)/365 = 2005.0014 31/03/2005 : 2005 + (90 - 0.5)/365 30/06/2005 : 2005 + (181 - 0.5)/356 = = 2005.2452 2005.4945
18

Pode ser estendida para incluir hora

Converso: Nominal para Numrico

Algumas tcnicas de AM manipulam internamente apenas com valores nominais Outras (redes neurais, regresso, k-NN) s trabalham com entradas numricas

Os valores de atributos nominais precisam ser transformados em valores numricos Existem estratgias diferentes para atributos com valor binrio, ordinal e nominal multi-valorado

19

Converso: Binrio para Numrico

Atributos binrios

Exemplo: Sexo = (M)asculino ,(F)eminino

Converta para o Atributo_0_1 com os valores 0,1

Sexo = M Sexo = F

Sexo_0_1 = 0 Sexo_0_1 = 1

20

Converso: Ordinal para Numrico

Atributos ordinais (e.g., grau_de_satisfao com um produto) podem ser convertidos para nmeros preservando a ordem natural

Muito Satisfeito Satisfeito Pouco Satisfeito Insatisfeito

0.8 0.6 0.4 0.2

Por que importante preservar a ordem natural?

Para permitir comparaes que faam sentido: grau_de_satisfao > 0.4


21

Converso: Nominal - Poucos Valores

Atributos nominais multi-valorados um nmero pequeno de possveis valores (e.g., < 20)

Religio = Catlica, Protestante, Budista, ..., Outras


Para cada valor v de Religio, crie um um atributo binrio R_v, que ser 1 se Religio = v, 0 caso contrrio:

22

Converso: Nominal - Muitos Valores

Exemplos

Cdigo Postal (CEP) de uma cidade Profisso (7000 valores, apenas algumas so mais freqentes)

Ignore atributos cujos valores so nicos para cada instncia: RG, CPF, matrcula SIAPE, ... Para outros atributos, agrupe valores naturalmente

150 bairros (CEP) de Recife 3 ou 5 regies Profisses - selecione a mais freqentes, agrupe o resto
23

Limpeza dos Dados: Discretizao

Alguns algoritmos de AM manipulam apenas com atributos com valores nominais


Algumas implementaes do Naive, CHAID, ... Para us-los com bases de dados gerais, os atributos numricos tm que ser, primeiro, discretizados em um pequeno nmero de intervalos distintos

Alm disso, embora a maioria dos algoritmos de induo de rvore de deciso ou regras possam lidar com atributos com valores numricos, algumas implementaes tornam-se muito lentas quando este tipo de atributo est presente

No processo de induo, os valores desses atributos so repetidamente ordenados

24

Discretizao: Intervalos com Largura Fixa


Temperatura: 64 65 68 69 70 71 72 72 75 75 80 81 83 85 2 2 4 2

Contador

2 2 0 [64,67) [67,70) [70,73) [73,76) [76,79) [79,82) [82,85]

Low <= valor < High = Caixa Largura Fixa

25

Discretizao: Intervalos com Largura Fixa

No leva em considerao as classes no conjunto de dados discretizao no-supervisionada Pode destruir distines que poderiam ser til para o algoritmo de aprendizado

Tamanho do intervalo muito pequeno ou grande que termina por colocar, para o atributo, muitas instncias de classes diferentes juntas

26

Discretizao: Entropia

Mesmo critrio usado para a diviso de um atributo numrico em rvores de deciso

Ganho de Informao (Intervalo) = Entropia-Atual Entropia-Depois-Divisao-do-Intervalo A cada passo, escolha o Intervalo para o qual o Ganho de Informao mximo

Leva em considerao as classes no conjunto de dados discretizao 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
27

66.5

70.5 73.5 77.5 80.5

84

Limpeza dos Dados: Observaes Atpicas (Outliers)

Uma instncia com uma combinao nica de valores de atributos identificveis como sendo notadamente diferente das outras instncias As instncias atpicas no podem ser categoricamente caracterizadas como benficas ou problemticas

Devem ser vistas no contexto da anlise e avaliadas pelos tipos de informao que possam fornecer Benficas: podem ser indicativas de caractersticas da populao que no seriam descobertas no curso normal da anlise Problemticas: no so representativas da populao, so contrrias aos objetivos da anlise e podem confundir os algoritmos de aprendizado

28

Por que ocorrem observaes atpicas?

Erro na entrada de dados ou codificao

Essas observaes devem ser eliminadas da amostra - ou os valores atpicos devem ser considerados como dados perdidos

Resultado de um evento extraordinrio, o que explica a peculiaridade da observao Deve-se decidir se essa observao deve fazer parte da amostra (conjunto de dados) Resultado de em evento extraordinrio, mas que no h explicao Em geral, so descartadas da amostra Observaes que esto no intervalo usual de valores para cada atributo, mas so nicas em suas combinaes de valores entre atributos

29

Identificao de observaes atpicas

Deteco univariada

Padronizar os valores dos atributos: mdia de 0 e desvio-padro de 1 Considerar como observaes atpicas aquelas instncias que possuam valores de atributos com escore padro 2.5 (4.0 para amostras como mais de 80 instncias) ou mais Pares de atributos podem ser analisados conjuntamente por meio de um diagrama de disperso (grficos bidimensionais) Instncias que notoriamente esto fora do intervalo das outras observaes podem ser percebidos como pontos isolados no diagrama de disperso A posio multidimensional de cada instncia medida em relao a um ponto comum A medida D2 de Mahalanobis pode ser usada para esse propsito

Deteco bivariada

Deteco multivariada

Ela uma medida da distncia, em um espao multidimensional, de cada instncia em relao ao centro mdio das instncias

30

Limpeza dos Dados: Transformaes de Dados (1/4)

Um atributo pode ter uma caracterstica indesejvel, como no normalidade

Por exemplo, muitos implementaes do Naive assumem que a ocorrncia dos valores de atributos numricos obedecem a uma distribuio normal

Atributos medidos em escalas com grau de magnitude muito diferente apresentam caractersticas indesejveis:

Quando medidas de distncias so usadas (k-NN, mtodos de agrupamento) Para o ajuste dos pesos de uma rede neural
31

Limpeza dos Dados: Transformaes de Dados (2/4)

Transformaes para atingir normalidade (para um atributo X)

Distribuies achatadas

1/X

Distribuies negativas

SQRT(X)

Distribuies positivas

Log X

32

Limpeza dos Dados: Transformaes de Dados (3/4)

Transformaes para conseguir linearidade (par de atributos X e Y)


Y

Y2

Log Y; -1/Y; SQRT(Y)

X2

Log X; -1/X; SQRT(X)


X X

Log Y; -1/Y; SQRT(Y)

Y2

X2

Log X; -1/X; SQRT(X)


X X
33

Limpeza dos Dados: Transformaes de Dados (4/4)

Transformao por causa de unidades diferentes ou disperses muito heterogneas

Escalonamento para [0,1] dos valores de um atributo X

Valor-Escalonado = (x - min_X)/(max_X - min_X)

Padronizao dos valores de um atributo X (mdia de zero e desvio padro de 1)

Escore-Padro = (x - mdia_X)/desvio_padro_X
34

PCA - Todas as Componentes


D_PCA = A'*D'
0,7071 -0,7071 0,7071 0,7071

0,88 0,58

-1,67 -1,43

... ...

-0,99 -1,19

35

PCA - Apenas 1a. PC


0,7071 0,7071

0,88 0,58

-1,67 -1,43

... ...

-0,99 -1,19

36

Anlise de Componentes Principais

Principais Limitaes

Assume apenas relaes lineares entre os atributos A interpretao dos resultados (e.g., classificador gerado) em termos dos atributos originais pode ficar mais difcil

37

Bibliografia

Witten, I. H. and Frank, E. (2005). Data Mining: practical machine learning tools and techniques with Java implementations. Chapter 7 - Transformations: Engineering the input and output. pp. 288-343. Morgan Kaufmann. Hair-Jr., J. F. et al (2005). Anlise multivariada de dados. Captulo 3 - Introduo. pp. 23-45. Bookman. Smith, L. I. (2002). A tutorial on principal component analysis.

38

Anda mungkin juga menyukai