A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Preparação dos Dados Marcilio Souto DIMAp/UFRN. Preparação dos Dados ● Compreensão dos dados ● Limpeza – Metadado – Valores Perdidos – Formato de data.

Apresentações semelhantes


Apresentação em tema: "Preparação dos Dados Marcilio Souto DIMAp/UFRN. Preparação dos Dados ● Compreensão dos dados ● Limpeza – Metadado – Valores Perdidos – Formato de data."— Transcrição da apresentação:

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.000000000000000.000000000000000.000000000000000.00000000 0000000.000000000000000. 000000000000000.000000000000000.0000000...… 000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000 000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000 000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000 000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000 000000.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 “>” e “<“ 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 > 0.4

23 Conversão: Nominal - Poucos Valores ● Atributos nominais multi-valorados um número pequeno de possíveis valores (e.g., < 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 Discretização: Intervalos com Largura Fixa Low <= valor < High = Caixa Largura Fixa [64,67) [67,70) [70,73) [73,76) [76,79) [79,82) [82,85] Temperatura: 64 65 68 69 70 71 72 72 75 75 80 81 83 85 22 Contador 4 222 0

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 – 646568697071727580818385 – YNYYYNNYNYYN 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 D 2 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 Limpeza dos Dados: Transformações de Dados (2/4) ● Transformações para atingir normalidade (para um atributo X) – Distribuições “achatadas” – Distribuições negativas – Distribuições positivas 1/X SQRT(X) Log X

36 Limpeza dos Dados: Transformações de Dados (3/4) ● Transformações para conseguir linearidade (par de atributos X e Y) Y X Y2Y2 X2X2 Y X Log Y; -1/Y; SQRT(Y) Y X X2X2 Y X Y2Y2 Log X; -1/X; SQRT(X) Log Y; -1/Y; SQRT(Y) Log X; -1/X; SQRT(X)

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.


Carregar ppt "Preparação dos Dados Marcilio Souto DIMAp/UFRN. Preparação dos Dados ● Compreensão dos dados ● Limpeza – Metadado – Valores Perdidos – Formato de data."

Apresentações semelhantes


Anúncios Google