Mineração de Dados (Data Mining – DM) Capítulo 2 – Preparação de Dados para Mineração Custódio Gouvêa Lopes da Motta [email protected] www.dcc.ufjf.br www.ice.ufjf.br Bibliografia Complementar Pyle D., Data Preparation for Data Mining. Morgan Kaufmann, 1999. Capítulo 2 - Preparação de Dados para Mineração 2.1. Motivação 2.2. Limpeza dos Dados 2.3. Integração de Dados 2.4. Transformação dos Dados 2.5. Redução de Dados 2.6. Discretização 2. Preparação de Dados para Mineração 2.1. Motivação Problemas nos dados do mundo real: • Dados Incompletos: faltam atributos de interesse, faltam valores de atributos ou contem somente dados agregados. • Dados com Ruído: contendo erros ou outliers. • Dados Inconsistentes: contendo discrepâncias nos códigos ou nomes. Dados sem qualidade resulta em mineração sem qualidade. Tarefas Principais na Preparação de Dados: • Limpeza dos Dados: preencher dados faltando, suavizar dados com ruídos, identificar e remover outliers e remover inconsistências. • Integração de Dados: integrar múltiplos bancos de dados ou arquivos. • Transformação de Dados: normalização e agregação. • Redução de Dados: obter uma representação reduzida em volume que produza o mesmo (ou similar) resultado analítico. • Discretização dos Dados: parte particularmente importante da redução de dados, especialmente para dados numéricos. 2.2. Limpeza dos Dados ¾ Dados Faltando: • Ocorrência: algumas tuplas não têm gravados os valores de alguns atributos. • Causas: mau funcionamento de equipamentos, apagados por inconsistências com outros dados já gravados, por algum engano o dado não entrou, por não ter sido considerado importante no momento da entrada etc. Geralmente há a necessidade de preencher os dados faltando. ¾ Dados Faltando: • Ações: 9 Excluir a tupla: feito usualmente quando falta o rótulo de classe em tarefa de classificação. 9 Preencher os dados faltando manualmente: tarefa tediosa e as vezes impossível. 9 Usar uma constante global: por exemplo: “desconhecido”. 9 Usar o valor médio do atributo. 9 Usar o atributo médio de todas as amostras pertencentes a mesma classe. (Inteligente). 9 Usar o valor mais provável: inferido por regressão, fórmula Bayesiana, árvore de decisão, rede neural, etc. 2.2. Limpeza dos Dados ¾ Dados com Ruído: • Ocorrência: erro aleatório ou discrepância na medida de uma variável. • Causas: falha nos instrumentos de coleta de dados, problemas na entrada de dados, problemas na transmissão dos dados, limitação tecnológica, inconsistência na convenção de instâncias do atributo. • Outros problemas que requerem limpeza: amostras duplicatas, dados incompletos, dados inconsistentes. ¾ Dados com Ruído : • Ações: 9 Agrupamento dos dados: executar um software para distribuir os dados em K (2 ou mais) grupos, detectar e remover outliers. 9 Combinar computação com inspeção humana: detectar valores suspeitos automaticamente e realizar verificação humana. 9 Regressão: suavizar os ruídos, substituindo-os pelos resultados de uma função de regressão. ¾ Dados com Ruído : • Exemplos de Ações: 9 Análise outliers. de Agrupamento: para detecção de ¾ Dados com Ruído : • Exemplos de Ações: 9 Regressão: suavizar substituindo os ruídos pelos resultados de uma função de regressão. y Y1 y=x+1 Y1’ X1 x 2.3. Integração de Dados • Objetivo: Combina dados de múltiplas fontes, de forma coerente, em um único volume. • Principais Conflitos: mesmo atributo com valores (nomes, escalas etc.) diferentes em fontes diferentes; um atributo numa fonte pode ser derivado de outro em outra fonte (ex.: renda mensal e anual); amostras duplicatas. 2.4. Transformação dos Dados • Suavização: remove ruídos dos dados. • Agregação: sumarização e construção de cubos de dados. • Normalização: transforma os valores de um atributo para uma escala de pequeno alcance. • Construção de Atributo: novos atributos construidos de outros atributos disponíveis. 2.4. Transformação dos Dados Alguns Métodos de Normalização: • Normalização min-max: v − min (novo max − novo min ) + novo min v' = max − min v − min • Normalização Linear: v' = max − min • Normalização por Desvio Padrão: v − média (v) v' = desviopadrão(v) • Normalização por Escala Decimal: v' = v 10 j Sendo j = menor inteiro tal que: Max( v' ) ≤ 1 2.5. Redução de Dados • Ocorrência: a fonte pode ter terabytes de dados; uma mineração (ou análise) complexa pode levar muito tempo de execução sobre o conjunto completo dos dados. • Objetivo da Redução: Obter uma representação reduzida do conjunto de dados que é muito menor em volume mas ainda produz os mesmos (ou quase os mesmos) resultados analíticos. • Estratégias de Redução: agregação em cubos de dados, redução de dimensionalidade, redução de numerosidade e discretização ¾ Redução de Dimensionalidade • Seleção de Características (isto é, seleção de um subconjunto de atributos): selecionar um conjunto mínimo de características que permita uma distribuição das diferentes classes, tão próximo quanto possível da distribuição original (que considerou os valores de todas as características). • Redução de Dimensionalidade por Indução de Árvore de Decisão • Análise de Componentes Principais Exemplo de Indução de Árvore de Decisão: Conjunto de atributos iniciais = {A1, A2, A3, A4, A5, A6} A4 ? A6? A1? Class 1 Class 2 Class 1 Class 2 Conjunto de atributos reduzidos = {A1, A4, A6} ¾ Redução de Dimensionalidade • Análise de Componentes Principais: 9 Método: dados N vetores de dados de k dimensões, encontrar c ≤ k dimensões ortogonais que podem ser usadas para representar os dados. 9 Idéia: O conjunto de dados original que consiste de N vetores de dados de k dimensões é reduzido a outro conjunto de N vetores de c componentes principais (dimensões reduzidas). 9 Observações: Cada componente principal é uma combinação das k dimensões originais. Funciona somente para dados numéricos. Usado quando o número de dimensões é grande. ¾ Redução de Dimensionalidade • Análise de Componentes Principais: visão gráfica X2 Y1 Y2 X1 ¾ Redução de Numerozidade • Métodos Paramétricos: Adota algum modelo em que os dados se ajustam, estima os parâmetros do modelo, armazena somente os parâmetros e descarta os dados. • Métodos não Paramétricos: 9 Não adota modelos. 9 Análises mais usuais: histogramas, agrupamento e amostragem. ¾ Redução de Numerozidade Histogramas: técnica popular de redução de dados; representação gráfica da distribuição de uma única variável em intervalos de freqüência. 40 35 30 25 20 15 10 5 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 ¾ Redução de Numerozidade Agrupamento: partição do conjunto de dados em grupos e armazenamento de somente as representações dos grupos. Amostragem: amostragem randômica simples pode levar a desempenho fraco pela possibilidade de geração de tendências. Uma alternativa é usar amostragem estratificada: aproximar a porcentagem de cada classe (ou sub-população de interesse) no banco de dados global. ¾ Redução de Numerozidade Amostragem: Dados originais Amostras estratificadas / grupo 2.6. Discretização • Tipos de Atributos: 9 Categóricos (não-métricos): Descrevem diferenças de tipo ou espécie. Indicam a presença ou ausência de uma característica ou propriedade. Podem ser: Discretos (nominais): usam rótulos (não ordenáveis) para identificar os objetos. Ex.: sexo, religião, partido político, n° de um uniforme de futebol etc. Ordinais: usam valores de um conjunto ordenado. Ex.: nível de satisfação entre os produtos A, B e C: 2.6. Discretização • Tipos de Atributos: 9 Continuos (métricos): Representados por valores reais. Podem usar dois tipos de escalas de medidas: Escalas Intervalares: têm um ponto zero arbitrário. Ex.: escalas de temperatura Fahrenheit e Celsius: 80°F (= 26,7°C) não é o dobro de 40°F (= 4,4°C). Escalas de razão: possui um ponto zero absoluto. Ex.: escalas usadas pelas balanças: 100 Kg é do dobro de 50 Kg. 2.6. Discretização ¾ Motivação: • Alguns algoritmos de classificação aceitam somente atributos discretos. • Método de redução da dimensionalidade. ¾ Discretização: • Reduz o número de valores de um dado atributo contínuo pela divisão da escala do atributo em intervalos. Pode-se usar rótulos para identificar os intervalos. • Reduz os dados, colecionando e repassando conceitos de baixo nível (ex.: valores numéricos do atributo idade) para conceitos de alto nível (ex.: jovem, adulto e velho). (Hierarquia de Conceito). 2.6. Discretização ¾ Métodos: Loteamento, Análise de Histograma, Análise de Agrupamento etc. • Loteamento: Ordenar os dados e particioná-los em lotes. Em seguida, suavizar pela média (ou mediana, ou limites etc.) do lote em questão. 2.6. Discretização • Loteamento: Exemplo: Dados ordenados: 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34. Particionamento em lotes: Lote 1: 4, 8, 9, 15. Lote 2: 21, 21, 24, 25. Lote 3: 26, 28, 29, 34. Suavização por média do lote: Lote 1: 9, 9, 9, 9. Lote 2: 23, 23, 23, 23. Lote 3: 29, 29, 29, 29. Suavização por limites do lote: Lote 1: 4, 4, 4, 15. Lote 2: 21, 21, 25, 25. Lote 3: 26, 26, 26, 34.