M08. Introdução a Técnicas de Data Mining DM

Documentos relacionados
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Clustering: k-means e Agglomerative

2 Processo de Agrupamentos

Mineração de Dados. Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri

Trilha Learning Machine Cluster Analysis em 4 passos Marco Siqueira Campos

Les-0773: ESTATÍSTICA APLICADA III ANÁLISE DE AGRUPAMENTO. Junho de 2017

Aula 6 Mineração Streams Representação dos Dados. Profa. Elaine Faria UFU

Análise Multivariada Aplicada à Contabilidade

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Aula 7 Medidas de Distância. Profa. Elaine Faria UFU

SEL-0339 Introdução à Visão Computacional. Aula 7 Reconhecimento de Objetos

KDD, Mineração de Dados e Algoritmo Apriori

Organização. 1. Introdução 2. Medidas de Similaridade. hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters

Aprendizado de Máquina

Sarajane M. Peres e Clodoaldo A. M. Lima. 19 de novembro de 2015

Mineração de Dados em Biologia Molecular

Regras de Associação. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP

Redes Neurais (Inteligência Artificial)

Aprendizado de Máquina (Machine Learning)

SCC0173 Mineração de Dados Biológicos

Consultas por Similaridade em Domínios de Dados Complexos

Análise de Agrupamento. Cluster Analysis

Prof. Daniela Barreiro Claro

Modelagem da Rede Neural. Modelagem da Rede Neural. Back Propagation. Modelagem da Rede Neural. Modelagem da Rede Neural. Seleção de Variáveis:

Otimização da Paleta de Cores

Análise de Agrupamento (Cluster analysis)

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães.

Introdução ao Data Mining (Mineração de Dados)

CLASSIFICADORES ELEMENTARES

Descoberta de Conhecimento em Bancos de Dados - KDD

Mapeamento do uso do solo para manejo de propriedades rurais

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Thiago Marzagão 1. 1 Thiago Marzagão (Universidade de Brasília) MINERAÇÃO DE DADOS 1 / 21

Mineração de itemsets e regras de associação

Mineração de Dados. Dados Escalar Cardinalidade Porque pré-processar dados?

Integração de Mineração de Dados com SGBD Detecção de Agrupamentos

SBC - Sistemas Baseados em Conhecimento

Aprendizagem de Máquina - 2. Prof. Júlio Cesar Nievola PPGIa - PUCPR

Escalonamento Multidimensional

6 Aplicação do Modelo de Geração de Cenários

Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

Metodologia Aplicada a Computação.

Clustering. Prof. Rodrigo Leite Durães.

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL

SCC0173 Mineração de Dados Biológicos

DCBD. Avaliação de modelos. Métricas para avaliação de desempenho. Avaliação de modelos. Métricas para avaliação de desempenho...

Redes Neurais não Supervisionadas: SOM

A Figura 28 mostra a representação gráfica dos dados presentes na base de dados fcmdata do Matlab de dimensão 140x2 dividida em 2 grupos.

Aprendizado de Máquina (Machine Learning)

Roteiro. PCC142 / BCC444 - Mineração de Dados. Por que pré-processar os dados? Introdução. Limpeza de Dados

Realimentação de Relevância

ANÁLISE DE AGRUPAMENTOS

Transcrição:

M08. Introdução a Técnicas de Data Mining DM 4 - REGRAS DE ASSOCIAÇÃO 5 - ANÁLISE DE AGRUPAMENTOS LNCC/MCT - 18/01/2008 Custódio Gouvêa Lopes da Motta custodio.motta@ufjf.edu.br www.dcc.ufjf.br Agradecimentos: CNPq, LNCC, UFJF, COPPE/UFRJ

1.4. Mineração de Dados (Data Mining DM) Atividades e Tarefas MINERAÇÃO DE DADOS ATIVIDADES PREDITIVAS ATIVIDADES DESCRITIVAS CLASSIFICAÇÃO REGRESSÃO REGRAS DE ASSOCIAÇÃO SUMARIZAÇÃO AGRUPAMENTO OUTRAS

4 Regras de Associação 4.1. Mineração de Regras de Associação 4.2. Algoritmo Apriori 4.3. Tipos de Regras de Associação 4.4. Custos Críticos do Método Apriori 4.5. Melhoria da eficiência do Apriori 4.6. Apresentação das Regras de Associação

4.1. Mineração de Regras de Associação 4.1.1. Objetivo: encontrar padrões freqüentes, associações ou correlações entre conjuntos de itens ou objetos, em bases de dados de transações, relacionais e outras. 4.1.2. Aplicações: análise de cestas de compras, venda cruzada, projeto de catálogo, perfil de clientes, agrupamentos, classificação etc.. 4.1.3. Formatos de Regras de Associação: considerando A e B dois conjuntos de itens, tal que A B = ø: A B [suporte, confiança] compra (X, A) compra (X, B) [0.8%, 73%], onde X representa os consumidores. idade (X, 40...45 ) e renda (X, 4500...6000 ) compra (X, TV digital ) [0.3%, 65%]

4.1.4. Conceitos Básicos: Seja I = {i 1, i 2,..., i m } um conjunto de itens e D uma base de dados contendo o conjunto de transações, onde cada transação T é um conjunto de itens, tal que T I. Sejam A e B dois conjuntos de itens. Diz-se que uma transação T contém A se e somente se A T. Uma regra de associação é uma implicação da forma: A B, onde A I, B I e A B = ø. A B possui suporte S no conjunto de transações D, se S é a percentagem de transações que contêm A U B (ou A e B) em relação ao total de transações de D. Isto é dado pela probabilidade P (A U B). S identifica o quanto a associação (A U B) ocorre a ponto de se destacar de outras existentes

4.1.4. Conceitos Básicos: A B possui confiança C no conjunto de transações D, se C é a percentagem de transações que contêm A U B (ou A e B) em relação a todas as transações de D que contêm A. Isto é dado pela probabilidade condicional P (B A) (P (B A) = P (A U B) / P (A)). C indica o quanto a ocorrência do antecedente (A) pode assegurar a ocorrência do conseqüente (B). O objetivo da mineração é encontrar todas as regras que associem a presença de um conjunto de itens (A) com qualquer outro conjunto de itens (B, C,...). Ex.: 64% das pessoas que compram microcomputador e impressora, fazem contrato de manutenção. Tipos de problemas que podem ser resolvidos:? contrato de manutenção (o que a loja deveria fazer para impulsionar a contratação de manutenção?). microcomputador? (que outros produtos devem estar disponíveis na loja?). Planejamento de mala direta etc.

4.1.4. Conceitos Básicos: Regra de associação forte é aquela que satisfaz aos limites pré-estabelecidos (pelo usuário) de suporte mínimo (sup_min) e de confiança mínima (conf_min). Um conjunto de itens é chamado de um itemset. Um itemset com k itens é um k-itemset. A contagem, freqüência ou contagem de suporte de um itemset é o número de transações que contêm este itemset. Um itemset freqüênte é aquele que satisfaz ao suporte mínimo, isto é, sua freqüência é maior ou igual ao produto do sup-min pelo total de transações de D. O conjunto de k-itemsets freqüêntes é denotado por L k. O suporte e a confiança são duas medidas de interessabilidade de uma regra de associação. Medidas de interessabilidade adicionais podem ser aplicadas, se desejado.

4.1.5. Processo de Mineração de Regras de Associação: Realizado em dois passos: 1. Encontrar todos os itemsets freqüentes. 2. Gerar regras de associação fortes dos itemsets freqüentes Obs.: O segundo passo é o mais fácil. O desempenho geral na mineração de regras de associação é determinado pelo primeiro passo. Para encontrar os itemsets freqüentes é usada a propriedade Apriori: todos os subconjuntos não-vazios de um itemset freqüente são também freqüentes.

4.1.5. Processo de Mineração de Regras de Associação: Exemplo: Passo 1: Seja encontrar todos os itemsets freqüentes na base de dados a seguir, considerando sup_min = 2 Base de Dados Trans.ID Itens 17 1 3 4 23 2 3 5 21 1 2 3 5 29 2 5 scan C 1 = 1-itemsets candidatos itemse Sup. t {1} 2 {2} 3 {3} 3 {4} 1 {5} 3

C 1 = 1-itemsets candidatos L 1 = 1-itemsets freqüentes itenset Sup. itenset Sup. itenset Sup. {1 2} 1 {1} 2 {1} 2 {1 3} 2 {2} 3 poda scan {2} 3 {1 5} 1 {3} 3 {3} 3 {2 3} 2 {4} 1 {5} 3 {2 5} 3 {5} 3 {3 5} 2 poda L 2 C 2 itenset {1 3} {2 3} {2 5} {3 5} Sup. 2 2 3 2 C 3 L 3 scan itenset Sup. poda itenset Sup. {2 3 5} 2 {2 3 5} 2

Passo 2: Para gerar as regras de associação deve-se: 2.1. Para cada itemset freqüente l, gerar todos os subconjuntos não-vazios de l. 2.2. Para todo subconjunto não-vazio sc de l, produzir a regra sc (l sc), que satisfaça a conf_min. No exemplo, o itemset freqüente l = {2 3 5} possui os seguintes subconjuntos não-vazios: {2 3}, {2 5}, {3 5}, {2}, {3} e {5}. As regras de associação resultantes são mostradas abaixo, com suas respectivas confianças: 2 ^ 3 5, c = 2/2 = 100% 2 ^ 5 3, c = 2/3 = 67% 3 ^ 5 2, c = 2/2 = 100% 2 3 ^ 5, c = 2/3 = 67% 3 2 ^ 5, c = 2/3 = 67% 5 2 ^ 3, c = 2/3 = 67% Considerando conf_min = 80%, as regras fortes seriam: 2 ^ 3 5 [50%, 100%] 3 ^ 5 2 [50%, 100%]

4.2. Algoritmo Apriori (Agrawal, R. e Srikant, R., 1994) Objetivo: encontrar os itemsets freqüentes, usando geração de candidatos. Entradas: banco de dados de transações D; limite de suporte mínimo (sup_min). Saída: itemsets freqüentes em D (L ).

4.2. Algoritmo Apriori (1) L 1 = acha_1-itemsets_freqüentes (D); (2) para (k = 2; L k -1 ø; k++){ (3) C k = apriori_gen(l k -1, sup_min); (4) para cada transação t D { // leitura de D para // contagem (5) C t = subconjunto(c k, t); // recebe os // subconjuntos de t que // são candidatos (6) para cada candidato c C t (7) c.count++; (8) } (9) L k = { c C t c.count sup_ min}; (10) } (11) retorna L = U k L k ;

procedimento apriori_gen(l k -1 : (k-1)-itemsets freqüentes; sup_ min: limite de suporte mínimo) (1) para cada itemset l 1 L k -1 (2) para cada itemset l 2 L k -1 (3) se (l 1 [1] = l 2 [1]) ^ (l 1 [2] = l 2 [2]) ^... ^ (l 1 [k-2] = l 2 [k-2]) ^ (l 1 [k-1] < l 2 [k-1]) então { (4) c = l 1 x l 2 ; // passo de união: geração de // candidatos (5) se has_infrequent_subset (c; L k -1 ) então{ (6) exclui c; // passo de poda: remove // candidato infreqüente (7) senão acrescente c a C k ; (8) } (9) retorna C k ;

procedimento has_infrequent_subset (c: k-itemset candidato; L k -1 : (k -1)-itemsets freqüentes); // usa conhecimento anterior (1) para cada (k -1)-subconjunto s de c (2) se s não pertence a L k -1 então (3) retorna VERDADEIRO; (4) retorna FALSO; Obs.: O algoritmo Apriori minera itemsets frequentes de uma base de dados de transações para posterior geração de um conjunto de regras de associação booleanas, unidimensionais e de um único nível.

4.3. Tipos de Regras de Associação Os três principais critérios para classificar regras de associação são: 4.3.1. Quanto aos valores manuseados: Regra de associação booleana: associa a presença ou ausência de itens. Ex.: microcomputador, impressora contrato de manutenção [3%, 64%] Regra de associação quantitativa: associa itens quantitativos ou atributos. Nestes casos, os valores quantitativos são discretizados. Ex.: idade (X, 40...45 ) e renda (X, 4500...6000 ) compra (X, TV digital ) [0.3%, 65%]

4.3. Tipos de Regras de Associação 4.3.2. Quanto as dimensões dos dados envolvidos: cada predicado distinto em uma regra é uma dimensão. Regra de associação unidimensional: usa somente um predicado. Ex.: impressora papel [8%, 97%] ou compra (X, impressora) compra (X, papel) [8%, 97%] Regra de associação multidimensional: usa mais de um predicado. Ex.: idade (X, 40...45 ) e renda (X, 4500...6000 ) compra (X, TV digital ) [0.3%, 65%]

4.3. Tipos de Regras de Associação 4.3.3. Quanto aos níveis de abstração envolvidos: alguns métodos podem minerar conjuntos de regras de diferentes níveis de abstração. Conjunto de regras de associação de um único nível: Ex.: microcomputador impressora [0.7%, 53%] impressora papel [0.4%, 97%] Conjunto de regras de associação multinível: Ex.: idade (X, 40...45 ) e renda (X, 4500...6000 ) compra (X, TV ) [2.5%, 73%] idade (X, 40...45 ) e renda (X, 4500...6000 ) compra (X, TV digital ) [0.3%, 55%]

4.4. Custos Críticos do Método Apriori Geração de um número enorme de conjuntos candidatos: por exemplo, se existem 10 4 1-itemsets freqüentes, o algoritmo Apriori vai gerar mais de 10 7 1- itemsets candidatos, além de acumular e testar as ocorrências de suas freqüências. Além disso, para descobrir um padrão freqüente de tamanho 100, como {a 1,..., a 100 }, ele deve gerar mais de 2 100 10 30 candidatos no total. Necessidade de varrer repetidamente o banco de dados e verificar um grande conjunto de candidatos de padrões semelhantes (caso especial na mineração de longos padrões).

4.5. Melhoria da eficiência do Apriori Algumas variações do algoritmo original com o objetivo de melhorar a eficiência são: Redução transações: transações que não contém nenhum k-itemset freqüente não podem conter nenhum (k+1)-itemset freqüente. Essas transações são dispensadas de leituras futuras para j-itemsets onde j > k. Particionamento da base de dados: as transações de D são subdivididas em n partições não-sobrepostas. Qualquer itemset que é potencialmente freqüente em D, ocorre como um itemset freqüente em pelo menos uma das partições. Amostragem: busca encontrar itemsets freqüentes numa amostra randômica S de D.

4.5. Melhoria da eficiência do Apriori Redução de leitura : no algoritmo Apriori, C 3 é gerado baseado em L 2 x L 2. Seja C 3 os 3-itemsets candidatos gerados de C 2 x C 2, em vez de L 2 x L 2. C 3 é maior que C 3. Mas, se C 2 e C 3 puderem ser armazenados juntos em memória principal, pode-se encontrar L 2 e L 3 juntos na próxima varredura do banco de dados, economizando uma varredura. Usando esta estratégia, pode-se determinar todos os L k s com somente duas varreduras: uma inicial para determinar L 1 e uma final para todos os outros itemsets maiores. Análise por intervalos de tempo: transações realizadas em intervalos de tempo definidos pelo usuário constituem subconjuntos do banco de dados.

4.6. Apresentação das Regras de Associação Softwares CBA e IAS: ( www.comp.nus.edu.sg/~dm2/p_download - Bing Liu) Aplicação: Base de dados LIVROS (157 transações e 11 itens). Freqüências (em ordem decrescente) dos itens: (1) ChildBks{Discrete}: ;;0.586, 92 = Y (3) CookBks{Discrete}: ;;0.586, 92 = Y (5) DoltYBks{Discrete}: ;;0.414, 65 = Y (4) GeogBks{Discrete}: ;;0.382, 60 = Y (2) YouthBks{Discrete}: ;;0.344, 54 = Y (8) RefBks{Discrete}: ;;0.344, 54 = Y (9) ArtBks{Discrete}: ;;0.338, 53 = Y (7) Florence{Discrete}: ;;0.146, 23 = Y (6) ItalCook{Discrete}: ;;0.121, 19 = Y (11) ItalArt{Discrete}: ;;0.070, 11 = Y (10) ItalAtlas{Discrete}: ;;0.057, 9 = Y

4.6. Apresentação das Regras de Associação Softwares CBA e IAS: Primeira execução para geração das regras: Parâmetros: Limite de regras: 80000 Número máximo de itens por regra: 6 Suporte mínimo = 0.5 Confiança mínima = 0 Resultados: Foram geradas 13691 regras. Cobertura variando entre 1.274% (correspondente a 2 ocorrências do antecedente da regra na BD) e 58.599% (correspondente a 92 ocorrências). Confiança variando entre 2.17% e 100,00%. Suporte entre 1.274% (2 transações) e 34.395% (54 transações).

4.6. Apresentação das Regras de Associação Softwares CBA e IAS: Segunda execução para geração das regras: Parâmetros: Limite de regras: 80000 Número máximo de itens por regra: 6 Suporte mínimo = 30 Confiança mínima = 2 Regras Geradas: Rule 1: CookBks = Y -> ChildBks = Y (58.599% 58.70% 92 54 34.395%) Rule 2: ChildBks = Y -> CookBks = Y (58.599% 58.70% 92 54 34.395%) Rule 3: DoltYBks = Y -> ChildBks = Y (41.401% 75.38% 65 49 31.210%) Rule 4: ChildBks = Y -> DoltYBks = Y (58.599% 53.26% 92 49 31.210%)

4.6. Apresentação das Regras de Associação Tabela

4.6. Apresentação das Regras de Associação Visualização de Dados: Permite ao pesquisador um dos mais importantes valores: habilidade mental de processar e reconhecer padrões. Objetivo: representar relações de ordem superior de uma maneira a facilitar a identificação de informação oculta que em situação diferente seria obscurecida pelos resultados mais quantitativos. HAIR, ANDERSON, TATHAM & BLACK, Análise Multivariada de Dados, 5ª Ed., Bookman, 2005.

4.6. Apresentação das Regras de Associação Visualização usando gráfico plano (HAN & KAMBER, 2007):

4.6. Apresentação das Regras de Associação Visualização usando gráfico de regra (HAN & KAMBER, 2007):

4.6. Apresentação das Regras de Associação Visualização usando distância e agrupamento: Fonte: HAO, DAYAL, HSU, SPRENGER & GROSS, Visualization of Directed Association in e-commerce Transaction Data, in HP Labs 2000 Technical Report, 2000.

4.6. Apresentação das Regras de Associação Visualização de perfil de clientes Fonte: HAO, DAYAL, HSU, SPRENGER & GROSS, Visualization of Directed Association in e-commerce Transaction Data, in HP Labs 2000 Technical Report, 2000.

5 Análise de Agrupamentos 5.1. Conceitos e Aplicações 5.2. Similaridade / Dissimilaridade 5.3. Principais Métodos de Agrupamento 5.4. Métodos de Partição 5.5. Métodos Hierárquicos

5.1. Conceitos e Aplicações 5.1.1. Grupo: é uma coleção de objetos de dados (tuplas ou amostras) que são similares entre si e dissimilares aos objetos de outros grupos. 5.1.2. Agrupamento: é o processo de identificação de conjuntos de objetos de dados similares, organizando-os em grupos (ou classes). É uma atividade descritiva de mineração de dados (classificação não supervisionada). As dissimilaridades (ou similaridades) são calculadas a partir dos valores dos atributos dos objetos e são representadas, freqüentemente, por medidas de distâncias. 5.1.3. Objetivos Gerais: Permitir uma visão geral da distribuição dos dados. Como ferramenta de pré-processamento.

5.1.4. Qualidade do Método de Agrupamento: Um método com boa qualidade é aquele que produz grupos com alta similaridade intra-classe e baixa similaridade inter-classe. A qualidade do método depende tanto da medida de similaridade usada quanto de sua implementação. Outro indicador da qualidade de um método é a sua habilidade em descobrir alguns ou todos os padrões desconhecidos. 5.1.5. Características Necessárias do Método de Agrupamento: escalabilidade, lidar com diferentes tipos de atributos, descobrir grupos com formas arbitrárias, usar um número mínimo de parâmetros de entrada, lidar com dados com ruídos e outliers, agrupamento incremental, alta dimensionalidade, insensibilidade à ordem das amostras, incorporação de restrições especificadas pelo usuário, interpretabilidade e usabilidade.

5.1.6. Aplicações Gerais: Reconhecimento de padrões. Análise espacial de dados Processamento de imagens. Ciências econômicas (especialmente pesquisa de mercado). W W W (classificação de documentos e descoberta de grupos de padrão de acesso semelhante). 5.1.7. Exemplos de Aplicações: Marketing: descobrir grupos distintos de clientes para desenvolver programas de marketing direcionados. Uso da terra: identificar áreas de uso semelhante da terra em banco de dados de observação da superfície do planeta. Planejamento de cidades: identificar grupos de casas de acordo com tipo, valor e localização geográfica.

5.2. Similaridade / Dissimilaridade 5.2.1. Tipos de Dados Os objetos (pessoas, casas etc.) são descritos por variáveis (atributos) dos tipos escalar por intervalo, binário, categórico, ordinal, escalar proporcional ou uma combinação desses tipos de variáveis. A similaridade entre dois objetos i e j é expressada por uma função de distância, tipicamente métrica: d(i, j). Para objetos complexos (não estruturados, documentos etc.), usa-se similaridade não métrica. Como o tratamento dos valores das variáveis e as funções de distância são diferentes para cada tipo de dados e como o objetivo é apresentar uma visão geral de análise de agrupamento, passa-se a considerar somente variáveis do tipo escalar por intervalo.

5.2.2. Estruturas de Dados: algoritmos de agrupamento geralmente usam uma das duas estruturas de dados a seguir: Matriz de dados (estrutura objeto por variável): é uma matriz de n objetos x p variáveis. x 11... x 1f... x 1p............... x i1... x if... x ip............... x n1... x nf... x np

Matriz de dissimilaridade (estrutura objeto por objeto): armazena o conjunto de distâncias calculadas para cada par dos n objetos (matriz n x n). 0 d(2, 1) 0 d(3, 1) d(3, 2) 0............ d(n, 1) d(n, 2)... d(n, n-1) 0 d(i, j) é um número geralmente não negativo que representa a distância, diferença ou dissimilaridade entre os objetos i e j. Se os objetos i e j são altamente similares (próximos), d(i, j) tende a 0 e d(i, j) cresce quanto mais diferentes eles forem. d(i, j) = d(j, i) e d(i, i) = 0.

5.2.3. Variáveis Escalares por Intervalo São medidas contínuas de uma escala linear limitada. Ex.: peso, altura, latitude, longitude, temperatura ambiente etc. A unidade de medida usada pode afetar de forma significativa a análise de agrupamentos. Para evitar este problema, pode-se usar o seguinte método de padronização dos valores de uma variável f: 1 ) Calcular o desvio absoluto médio, s f : s f = 1 n ( x m + x m +... + 1 f f 2 f f nf f onde: x 1f, x 2f,..., x nf são os n valores da variável f e m f a sua média aritmética. x m )

2 ) Calcular os valores padronizados para a variável ou escore-z: Obs.: z if = x if m A padronização iguala os pesos de todas as variáveis. s É particularmente útil quando não se tem um conhecimento prévio sobre os dados. O desvio absoluto médio é mais robusto para outliers que o desvio padrão, isto é, o escore-z de outliers não fica muito pequeno e ele permanece detectável. f f

5.2.4. Cálculo da Dissimilaridade: Uma das funções de distância mais usuais é chamada distância Minkowski, definida como: d q q ( i, j) xi1 x j1 + xi2 x j2 = +... + q x ip x jp q onde: i = (x i1, x i2,..., x ip ) e j = (x j1, x j2,..., x jp ) são dois objetos p-dimensionais e q é um inteiro positivo. Obs.: pesos podem ser aplicados para diferenciar a importância das variáveis. Neste caso, a função ficaria da seguinte forma: d q q ( i, j) w1 xi1 x j1 + w2 xi2 x j2 = +... + q w p x ip x jp q

Se q = 1, d éa distância Manhattan: d ( i, j) xi1 x j1 + xi2 x j2 = +... + x ip x jp Se q = 2, d éa distância Euclidiana (a mais usual): d ( ) 2 x x + ( x x ) 2 + + ( x x ) 2 ( i, j) = i1 j1 i2 j2... ip jp Propriedades: d( i, j) 0 d( i, i) = 0 d( i, j) = d( j, i) d( i, j) d( i, h) + d( h, i)

Exemplo: Sejam os objetos p 1 (1, 1) e p 2 (4, 5), representados abaixo: 5 4 p 2 Distância entre eles: Manhattan: d(p 1, p 2 ) = 3 + 4 = 7 1 p 1 3 1 4 Euclidiana: 2 2 d(p 1, p 2 ) = = 5 3 +4

5.3. Principais Métodos de Agrupamento Métodos de partição: dado o número de grupos k, o método cria k partições iniciais e, em seguida, usa uma técnica de realocação iterativa, de forma a melhorar a posição dos objetos dentro da cada grupo. Métodos hierárquicos: criam uma decomposição hierárquica de um conjunto de objetos, usando uma das abordagem: aglomerativa ou divisiva. Métodos baseados em densidade: criam pequenos grupos e fazem com que cada um deles continue crescendo, enquanto a densidade (número de objetos) da vizinhança for superior a um determinado limite. Os métodos baseados em densidade permitem a geração de grupos com formatos arbitrários (não somente esféricos).

Métodos baseado em grade: dividem o espaço dos objetos em um número finito de células, formando uma estrutura de grade. Todas as operações de agrupamento são executadas sobre essa estrutura. A grande vantagem desses métodos é a rapidez de processamento que depende do número de células e não do número de objetos. Métodos baseado em modelo: criam um modelo para cada grupo e encontram o melhor ajuste dos dados para cada modelo. Os algoritmos baseados em modelo alocam os grupos construindo uma função de densidade que reflete a distribuição espacial dos objetos. Eles também permitem uma forma de determinação automática do número de grupos baseados em padrões estatísticos. Obs.: Por serem os mais usuais, serão apresentados, a seguir, detalhes sobre os métodos de partição e hierárquicos.

5.4. Métodos de Partição Dados um conjunto de dados D com n objetos e o número k de grupos a serem formados, um algoritmo de partição organiza os objetos em k partições (k n), onde cada partição representa um grupo que atende as seguintes condições: 1) Cada grupo deve conter pelo menos um objeto. 2) Cada objeto deve pertencer a somente um grupo. O método k-means (técnica baseada em centróide): É um dos métodos de partição mais conhecido e mais usual. Cada grupo é representado pelo centro do grupo. A similaridade do grupo é medida em relação ao valor médio dos objetos do grupo. Este ponto médio é chamado centróide ou centro de gravidade.

O algoritmo k-means: Entrada: D: um conjunto de dados com n objetos. k: o número de grupos. Saída: Um conjunto de k grupos. Algoritmo: (1) escolha arbitrariamente k objetos de D como os centros iniciais dos grupos ; (2) repita (3) atribua cada objeto para o grupo que tenha o centro mais próximo do objeto ; (4) calcule os novos centros dos grupos (novo centro de um grupo = valor médio dos objetos do grupo) ; (5) até não ocorrer mais mudanças nos centros ;

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

O funcionamento do algoritmo k-means:

Vantagens do método k-means: Relativamente escalável e eficiente para grandes conjuntos de dados. Complexidade do algoritmo é O(nkt), sendo n o n de objetos, k o n de grupos e t o n iterações e normalmente, k << n e t << n. O método freqüentemente termina num local ótimo. Desvantagens do método k-means: Aplicado somente quando a média é definida. Tem que fornecer o valor de k como parâmetro. Funciona bem somente para descobrir grupos com formatos convexos.

5.5. Métodos Hierárquicos Organiza os objetos em uma árvore (estrutura hierárquica) de grupos. Existem dois tipos de métodos hierárquicos: 1 ) Aglomerativo (de baixo para cima): começa considerando cada objeto como um grupo unitário e passa a fundir os grupos em outros cada vez maiores, até que todos os objetos constituam um grupo único ou que uma determinada condição de terminação seja satisfeita. 2 ) Divisivo (de cima para baixo): começa com todos os objetos num único grupo e passa a dividi-lo em grupos cada vez menores, até que cada objeto forme um grupo unitário ou que uma determinada condição de terminação seja satisfeita.

Exemplo (AGlomerative NESting AGNES e DIvisive ANAlysis DIANA): Step 0 Step 1 Step 2 Step 3 Step 4 a a b b a b c d e c c d e d d e e Step 4 Step 3 Step 2 Step 1 Step 0 aglomerativo (AGNES) divisivo (DIANA)

Dendrograma: é uma estrutura de árvore comumente usada para representar o processo de agrupamento hierárquico, que mostra, passo a passo, como os objetos são agrupados Exemplo: nível a b c d e l = 0 Escala de similaridade 1.0 l = 1 l = 2 l = 3 l = 4 0.8 0.6 0.4 0.2 0.0

Nos métodos hierárquicos, executado um passo na construção da árvore (fundir ou dividir grupos), ele não pode ser desfeito. Isso pode ser visto como vantagem (baixo custo computacional) ou desvantagem (impossibilidade de corrigir decisões erradas). O usuário não precisa especificar o número de grupos k como parâmetro de entrada, mas pode indicar o número de grupos desejado como condição de terminação do proceso.

Exemplo de dendrograma da base de dados Iris, gerado pelo software SIRIUS: Scores Euclidian Dendrogram 1.20 1.00 0.80 0.60 0.40 0.20 0.00 Object Dissimilarity Smp 71 Smp 59 Smp 124 Smp 138 Smp 51 Smp 139 Smp 26 Smp 18 Smp 143 Smp 78 Smp 64 Smp 125 Smp 37 Smp 6 Smp 95 Smp 106 Smp 1 Smp 40 Smp 100 Smp 135 Smp 88 Smp 112 Smp 50 Smp 136 Smp 44 Smp 97 Smp 150 Smp 109 Smp 114 Smp 90 Smp 93 Smp 133 Smp 85 Smp 99 Smp 98 Smp 120 Smp 86 Smp 30 Smp 128 Smp 105 Smp 119 Smp 65 Smp 19 Smp 121 Smp 52 Smp 82 Smp 5 Smp 62 Smp 16 Smp 12 Smp 117 Smp 137 Smp 131 Smp 57 Smp 146 Smp 113 Smp 94 Smp 29 Smp 9 Smp 92 Smp 127 Smp 81 Smp 15 Smp 17 Smp 104 Smp 110 Smp 148 Smp 27 Smp 49 Smp 74 Smp 123 Smp 77 Smp 21 Smp 89 Smp 24