Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Coleção de objetos de dados e seus atributos Atributos Um atributo é uma propriedade ou característica de um objeto – Exemplos: cor dos olhos de uma pessoa, temperatura, etc. – Atributo também é conhecido como variável, campo ou característica Objetos Uma coleção de atributos descreve um objeto – Objeto também é conhecido como registro, ponto, caso, amostra, entidade, ou instância Prof. Júlio Cesar Nievola Data Mining Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K 10 PPGIa – PUCPR Valores de atributos são números ou símbolos assinalados a um atributo Distinção entre atributos e valores de atributos – Um mesmo atributo pode ser mapeado em diferentes valores de atributo Exemplo: altura pode ser medida em pés ou metros – Diferentes atributos podem ser mapeados no mesmo conjunto de valores Exemplo: Valores de atributo para ID e idade são inteiros Mas propriedades dos valores dos atributos podem ser diferentes – ID não tem limite mas idade tem um valor máximo e um mínimo Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Há diferentes tipos de atributos – Nominal Exemplos: números de ID, cor dos olhos, códigos de CEP – Ordinal Exemplos: ordem (e.g., gosto de batata frita em uma escala entre 1-10), graus, altura em {alto, médio, baixo} – Intervalar Exemplos: datas de calendário, temperaturas em Celsius ou Fahrenheit. – Razão Exemplos: temperatura em Kelvin, comprimento, tempo, contagem Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR O tipo de um atributo depende de quais das seguintes propriedades ele possui: = ≠ < > + */ – – – – Distinção: Ordem: Adição: Multiplicação: – – – – Atributo Nominal: distinção Atributo Ordinal: distinção & ordem Atributo Intervalar: distinção, ordem & adição Atributo Razão: todas as quatro propriedades Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Tipo de atributo Descrição Exemplos Nominal Os valores de um atributo nominal são apenas nomes diferentes, i.e., atributos nominais fornecem só informação suficiente para distinguir um objeto de outro. (=, ≠) Códigos CEP, números de ID de empregados, cor dos olhos, sexo: {masculino, feminino} Moda, entropia, correlação de contingência, teste χ2 Ordinal Os valores de um atributo ordinal fornecem informação suficiente para ordenar objetos. (<, >) Dureza de minerais, {bom, melhor, o melhor}, graus, número de ruas Mediana, correlação de ordem, percentis, testes de execução, testes de sinal Intervalar Para atributos intervalares, as diferenças entre valores tem sentido, i.e., existe uma unidade de medida. (+, - ) Datas de calendário, temperatura em Celsius ou Fahrenheit Média, desvio padrão, correlação de Pearson, testes t eF Para variáveis do tipo razão, tanto diferenças quanto razão (divisão) tem sentido. (*, /) Temperatura em Kelvin, quantidades monetárias, contagem, idade, massa, comprimento, corrente elétrica Média geométrica, média harmônica, variação percentual Razão Operações Nível do atributo Transformação Comentários Nominal Qualquer permutação de valores. Se todos os números de ID dos empregados fosse reassinalada, isto faria alguma diferença? Ordinal Uma alteração de valores que preserve a ordem, i.e., novo_valor = f(valor_antigo) em que f é uma função monotônica. Um atributo abrangendo a noção de bom, melhor, o melhor pode ser igualmente representado pelos valores {1, 2, 3} ou { 0.5, 1, 10}. novo_valor =a * valor_antigo + b em que a e b são constantes Escalas de temperaturas em Fahrenheit e Celsius diferem em termos de onde o valor zero está e do tamanho da unidade (grau). novo_valor = a * valor_antigo Comprimento pode ser medido em metros ou pés. Intervalar Razão Atributo Discreto – Tem um conjunto de valores finito ou contavelmente infinito – Exemplos: código CEP, contagens, ou o conjunto de palavras em uma coleção de documentos – Freqüentemente representados como variáveis inteiras. – Nota: atributos binários são um caso especial de atributos discretos. Atributos Contínuos – Tem números reais como atributos de valores – Exemplos: temperatura, altura, ou peso. – Na prática, valores reais somente podem ser medidos e representados usando um número finito de dígitos. – Atributos Contínuos são representados tipicamente como variáveis de ponto flutuante. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Registro – Matriz de dados – Dados de documentos – Dados de transações Grafo – World Wide Web – Estruturas Moleculares Ordenados – Dados espaciais – Dados temporais – Dados seqüenciais – Dados de seqüências genéticas Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ! – Dimensionalidade Maldição da Dimensionalidade – Esparsidade Somente a presença importa – Resolução Padrões dependem da escala Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR "# Dados que consistem de um coleção de registros, cada um dos quais consiste de um conjunto fixo de atributos Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K 10 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Se os objetos de dados tem o mesmo conjunto fixo de atributos numéricos, então os objetos de dados podem ser vistos como pontos em um espaço multidimensional, em que cada dimensão representa um atributo distinto Tal conjunto de dados pode ser representado por uma matriz m por n, em que há m linhas, uma para cada objeto, e n colunas, uma para cada atributo Projection of x Load Projection of y load Distance Load Thickness 10.23 5.27 15.22 2.7 1.2 12.65 6.25 16.22 2.2 1.1 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Cada documento torna-se um vetor de ‘termos’, – cada termo é um componente (atributo) do vetor, – O valor de cada componente é o número de vezes que o termo correspondente ocorre no documento. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR $ São dados de registro de um tipo especial, em que – cada registro (transação) envolve um conjunto de itens. – Por exemplo, considere um supermercado. O conjunto de produtos comprados por um cliente durante constitui uma transação, enquanto os produtos individuais comprados são os itens. ID Itens 1 Pão, Refri, Leite 2 3 4 5 Cerveja, Pão Cerveja, Refri, Fralda, Leite Cerveja, Pão, Fralda, Leite Refri, Fralda, Leite Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR % & Exemplos: Grafos genéricos e links HTML 2 1 5 2 5 Prof. Júlio Cesar Nievola <a href="papers/papers.html#bbbb"> Data Mining </a> <li> <a href="papers/papers.html#aaaa"> Graph Partitioning </a> <li> <a href="papers/papers.html#aaaa"> Parallel Solution of Sparse Linear System of Equations </a> <li> <a href="papers/papers.html#ffff"> N-Body Computation and Dense Linear System Solvers Data Mining PPGIa – PUCPR ' Molécula de Benzeno: C6H6 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Seqüências de transações Itens / Eventos Um elemento da seqüência Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Dados de seqüência genômica GGTTCCGCCTTCAGCCCCGCGCC CGCAGGGCCCGCCCCGCGCCGTC GAGAAGGGCCCGCCTGGCGGGCG GGGGGAGGCGGGGCCGCCCGAGC CCAACCGAGTCCGACCAGGTGCC CCCTCTGCTCGGCCTAGACCTGA GCTCATTAGGCGGCAGCGGACAG GCCAAGTAGAACACGCGAAGCGC TGGGCTGCCTGCTGCGACCAGGG Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Dados Espaço-Temporais Temperatura Média Mensal das terras e oceanos Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ' Que tipo de problemas de qualidade de dados? Como se pode detectar problemas nos dados? O que se pode fazer a respeito destes problemas? Exemplos de problemas de qualidade nos dados: – Ruídos e outliers – Dados faltantes – Dados duplicados Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR " Ruído refere-se à modificação de valores originais – Exemplos: distorção da voz de uma pessoa falando em um fone inferior e “chuva” na tela da TV Duas ondas senoidais Prof. Júlio Cesar Nievola Duas ondas senoidais + Ruído Data Mining PPGIa – PUCPR Outliers são objetos de dados com características que são consideravelmente diferentes da maioria dos outros objetos de dados no conjunto de dados Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ( Razões para valores faltantes – Informação não foi coletada (e.g., pessoas não fornecem sua idade e peso) – Atributos podem não ser aplicáveis a todos os casos (e.g., salário anual não é aplicável a crianças) Manipulando valores faltantes – – – – Eliminar objetos de dados Estimar valores faltantes Ignorar valores faltantes durante análise Substituir por todos os valores possíveis (ponderados por suas probabilidades) Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Conjunto de dados pode incluir objetos de dados que são duplicatas, ou quase duplicadas de outros – Grande problema quando unindo dados de fontes heterogêneas Exemplos: – Mesma pessoa com múltiplos endereços de email Limpeza dos dados – Processo de trabalho com dados duplicados Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR )* Agregação Amostragem Redução de Dimensionalidade Seleção de Subconjuntos de Características Criação de Características Discretização e Binarização Transformação de Atributos Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR # # Combinar dois ou mais atributos (ou objetos) em um único atributo (ou objeto) Finalidade – Redução de dados Reduzir o número de atributos ou objetos – Alteração de escala Cidades agregadas em regiões, estados, países, etc – Dados mais “estáveis” Dados agregados tendem a ter menor variabilidade Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR # # Variação da Precipitação na Austrália Desvio Padrão da Média Mensal de Precipitação Prof. Júlio Cesar Nievola Desvio Padrão da Média Annual de Precipitação Data Mining PPGIa – PUCPR # Amostragem é a principal técnica empregada na seleção de dados – Usada freqüentemente tanto para investigação preliminar dos dados quanto para análise final dos dados. Estatísticos amostram porque obter o conjunto completo dos dados de interesse é muito caro ou consome tempo demais. Amostragem é usada em mineração de dados porque o processamento do conjunto inteiro dos dados de interesse é muito caro ou consome tempo demasiado. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR # + O princípio básico para amostragem efetiva é o seguinte: – usando uma amostra funcionará tão bem quanto usando o conjunto completo de dados se a amostra é representativa – uma amostra é representativa se ela tem aproximadamente as mesmas propriedades (de interesse) quanto o conjunto original de dados Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR # Amostragem simples aleatória – Há uma probabilidade igual de selecionar qualquer item particular Amostragem sem reposição – À medida que cada item é selecionado, ele é removido da população Amostragem com reposição – Objetos não são removidos da população quando são selecionados para compor a amostra. Na amostragem com reposição, o mesmo objeto pode ser escolhido mais de uma vez Amostragem estratificada – Divide os dados em várias partições; retira então amostras aleatórias de cada uma das partições Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR , 8000 pontos Prof. Júlio Cesar Nievola 2000 pontos Data Mining 500 pontos PPGIa – PUCPR , Que tamanho de amostra é necessário para obter pelo menos um objeto de cada um de 10 grupos? Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Quando a dimensionalidade aumenta, os dados tornam-se muito esparsos no espaço que ocupam Definições de densidade e distância entre pontos, que são críticas para agrupamento e detecção de outliers, passam a ter menos significado Prof. Júlio Cesar Nievola • Gerar aleatoriamente 500 pontos • Calcular a diferença entre a distância máxima e mínima entre quaisquer pares de pontos Data Mining PPGIa – PUCPR " Finalidade: – Reduzir a maldição da dimensionalidade – Reduzir a quantidade de tempo e memória necessárias pelos algoritmos de mineração de dados – Permitir que os dados sejam mais facilmente visualizados – Ajudar a eliminar características irrelevantes ou a reduzir o ruído Técnicas – Análise de Componentes Principais – PCA – Singular Value Decomposition – SVD – Outros: técnicas supervisionadas e não-lineares Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR " Dimensions Dimensions==206 120 160 10 40 80 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - - Outra forma de reduzir a dimensionalidade dos dados Características redundantes – Duplicam muita ou toda a informação contida em um ou mais atributos – Exemplo: preço de venda de um produto e a quantidade de taxas de venda pagas Características irrelevantes – Não contém informação que seja útil para a tarefa de mineração de dados sendo executada – Exemplo: ID do estudante é freqüentemente irrelevante na tarefa de prever o seu desempenho Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - - Técnicas: – Abordagem de força bruta: Tenta todos os subconjuntos possíveis de características como entrada para o algoritmo de mineração de dados – Abordagem embutidas: Seleção de características ocorre naturalmente como parte do algoritmo de mineração de dados – Abordagem filtro: Características são selecionadas antes que o algoritmo de mineração de dados seja executado – Abordagem wrapper: Uso o algoritmo de mineração de dados como uma caixa preta para encontrar o melhor subconjunto de atributos Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Cria novos atributos que podem capturar informação importante em um conjunto de dados muito mais eficientemente que os atributos originais Três metodologias gerais: – Extração de características específicas do domínio – Mapeamento de dados para novo espaço – Construção de características combinando características Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ./ ! Transformada de Fourier Transformada Wavelet Duas ondas senoidais Prof. Júlio Cesar Nievola Duas ondas senoidais + Ruído Data Mining Freqüência PPGIa – PUCPR 0 1 "2 Abordagem baseada em Entropia 3 categorias tanto para x quanto y Prof. Júlio Cesar Nievola 5 categorias tanto para x quanto y Data Mining PPGIa – PUCPR 0 1 "2 Dados Intervalos de largura igual Freqüência igual Prof. Júlio Cesar Nievola K-médio Data Mining PPGIa – PUCPR Similaridade – Medida numérica de quão parecidos dois objetos são. – É maior quando objetos são mais parecidos. – Freqüentemente está na faixa [0,1] Dissimilaridade – – – – Medida numérica de quão diferentes dois objetos são Menor quando dois objetos são mais parecidos Dissimilaridade mínima é freqüentemente 0 Limite superior varia Proximidade refere-se à similaridade ou dissimilaridade Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - 3 - p e q são os valores dos atributos para dois objetos de dados. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 ! Distância euclidiana dist = n ( pk − qk )2 k =1 em que n é o número de dimensões (atributos) e pk e qk são, respectivamente, os k-ésimos atributos (componentes) dos objetos de dados p e q. Padronização é necessária se as escalas diferem. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 ! 3 point p1 p2 p3 p4 p1 2 p3 p4 1 p2 0 0 1 2 3 p1 p2 p3 p4 4 5 x 0 2 3 5 y 2 0 1 1 6 p1 0 2.828 3.162 5.099 p2 2.828 0 1.414 3.162 p3 3.162 1.414 0 2 p4 5.099 3.162 2 0 Matriz de distâncias Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 56 5 Distância de Minkowski é uma generalização da distância Euclidiana dist = ( n | pk − qk k =1 1 r r |) em que r é um parâmetro, n é o número de dimensões (atributos) e pk e qk são, respectivamente, os k-ésimos atributos (componentes) dos objetos de dados p e q. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 5 6 5 !7 r = 1. Distância City block (ou Manhattan, taxicab, norma L1). – Um exemplo comum é a distância de Hamming, que é simplesmente o número de bits que diferem entre dois vetores binários r = 2. Distância Euclidiana r → ∞. Distância “supremum” (norma Lmax, norma L∞). – É a diferença máxima entre quaisquer componentes dos vetores Não confundir r com n, i.e., todas estas distâncias são definidas para todos os números de dimensões. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 ponto p1 p2 p3 p4 56 5 x 0 2 3 5 y 2 0 1 1 L1 p1 p2 p3 p4 p1 0 4 4 6 p2 4 0 2 4 p3 4 2 0 2 p4 6 4 2 0 L2 p1 p2 p3 p4 p1 p2 2.828 0 1.414 3.162 p3 3.162 1.414 0 2 p4 5.099 3.162 2 0 L∞ p1 p2 p3 p4 p1 p2 p3 p4 0 2.828 3.162 5.099 0 2 3 5 2 0 1 3 3 1 0 2 5 3 2 0 Matriz de distâncias Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 , mahalanobi s ( p , q ) = ( p − q ) −1 T ( p − q) Σ é a matriz de covariância dos dados de entrada X Σ j ,k 1 n = ( X ij − X j )( X ik − X k ) n − 1 i =1 Para os pontos vermelhos, a distância Euclidiana é 14.7, a distância de Mahalanobis é 6. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 , Matriz de covariância: Σ= C 0.3 0.2 0.2 0.3 A: (0.5, 0.5) B B: (0, 1) A C: (1.5, 1.5) Mahal(A,B) = 5 Mahal(A,C) = 4 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR 4 Distâncias, tais como a Euclidiana, tem algumas propriedades bem conhecidas. 1. d(p, q) ≥ 0 para todo p e q e d(p, q) = 0 somente se p = q. (Precisão positiva) 2. d(p, q) = d(q, p) para todo p e q. (Simetria) 3. d(p, r) ≤ d(p, q) + d(q, r) para todos pontos p, q, e r. (Desigualdade Triangular) em que d(p, q) é a distância (dissimilaridade) entre pontos (objetos de dados), p e q. Uma distância que satisfaz estas propriedades é uma métrica Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - Similaridades também tem algumas propriedades bem conhecidas. 1. s(p, q) = 1 (ou máxima similaridade) somente se p = q. 2. s(p, q) = s(q, p) para todo p e q. (Simetria) em que s(p, q) é a similaridade entre pontos (objetos de dados), p e q. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - 8 9 Uma situação comum é que objetos, p e q, tem somente atributos binários Calcular similaridades usando as seguintes quantidades M01 = número de atributos em que p é 0 e q é 1 M10 = número de atributos em que p é 1 e q é 0 M00 = número de atributos em que p é 0 e q é 0 M11 = número de atributos em que p é 1 e q é 1 Coeficientes Simple Matching e Jaccard SMC = número de coincidências / número de atributos = (M11 + M00) / (M01 + M10 + M11 + M00) J = número de coincidências 1-1 / número de valores de atributos não ambos 0 = (M11) / (M01 + M10 + M11) Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR - / : !7 p= 1000000000 q= 0000001001 M01 = 2 (o número de atributos em que p é 0 e q é 1) M10 = 1 (o número de atributos em que p é 1 e q é 0) M00 = 7 (o número de atributos em que p é 0 e q é 0) M11 = 0 (o número de atributos em que p é 1 e q é 1) SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7 J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Se d1 e d2 são dois vetores de documentos, então cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| , em que • indica o produto interno vetorial e || d || é o comprimento do vetor d. Exemplo: d1 = 3 2 0 5 0 0 0 2 0 0 d2 = 1 0 0 0 0 0 0 1 0 2 d1 • d2= 3*1 + 2*0 + 0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5 ||d1|| = (3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5 = 6.481 ||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5 = 2.245 cos( d1, d2 ) = .3150 Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR & ! : ; < Variação de Jaccard para atributos contínuos ou contáveis – Reduz-se a Jaccard para atributos binários Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Correlação mede o relacionamento linear entre objetos Para calcular a correlação, padronizam-se os objetos de dados, p e q, e faz-se seu produto interno pk′ = ( pk − média( p)) / desvpad ( p) qk′ = (qk − média(q)) / desvpad (q) correlação( p, q) = p′ • q′ Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR / Gráficos de dispersão mostrando a similaridade de –1 a 1. Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR Agrupamento baseado em densidade requer a noção de densidade Exemplos: – Densidade euclidiana Densidade euclidiana = número de pontos por unidade de área – Densidade de Probabilidade – Densidade baseada em Grafo Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ! = ) Abordagem mais simples é dividir a região em um número de células retangulares de igual área e definir densidade como número de pontos que a célula contém Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ! = Densidade euclidiana é o número de pontos dentro de um raio específico a partir do ponto Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR