SlideShare a Scribd company logo
1 of 50
Download to read offline
Data Mining - Clustering

Uma revisão de alguns métodos
      de Clusterização


           Cleber Nathan Dias
             clebernd@yahoo.com.br
O que é clusterização?
                 Visão Geral
   Usados para descobrir bases científicas em
    padrões de dados inesperados.
   Também chamado de ”unsupervised learning”
   É uma sub-área da mineração de dados.
   Dado um conjunto de objetos, montar grupos com
    base em suas similaridades.
   A complexidade do problema dificulta encontrar
    uma solução ótima. (não é um problema fechado)
       como definir o que é similaridade?
       mesmo com uma métrica é difícil encontrar a solução
        exata.
O que é clusterização?

   Na situação ao lado temos
    9 bolas com 3 cores
    diferentes.



                         O objetivo aqui foi agrupar
                          as bolas de cores iguais

   Desse modo a gente percebe o que
    pode significar os agrupamentos
Representações de Dados para
           Clusterização
   A entrada para um algoritmo de clusterização
    normalmente é um vetor (tuple ou record).
   Os tipos de dados podem ser:
                Numérico
                De categoria
                Boleano
Representações de Dados para
      Clusterização – Um Exemplo
   Numa clínica médica, por exemplo pode-se
    encontrar dados como:
                Idade (numérico)
                Peso (numérico)
                Sexo (categoria)
                Doente (boleano)
   Deve incluir um método para computar a
    similaridade de vetores ou a distância entre
    vetores. (cada ponto plotado no gráfico tem
    um vetor de dados associado)
Calculando Distâncias

   O método natural para dados numéricos é o
    cálculo das distâncias.
   Normalmente valores menores representam
    maiores similaridades.
   Não generalize para valores não numérico!
                Qual é distância entre masculino e feminino?
   Métricas para Cálculo da Distância:
                Distância Euclidiana
                Distância de Manhattan
                Etc.
Calculando Similaridade entre
           Dados
Calculando Similaridade entre
          Dados Numéricos
   Tradicionalmente usa-se valores de
    similaridade entre 0 e 1:
                0.0 = sem similaridade
                1.0 = idêntico
   Convertendo distância em similaridade:
                Pega-se dois pontos do gráfico e acha-se a
                   distância entre eles.
                1 – (a distância) = grau de similariadade
                Os dados devem de início ser normalizados para
                   que os valores das distâncias fiquem num
                   intervalo de 0 a 1.
                Normalizar é dividir os valores de tal modo que
                   que se enquadrem no intervalo desejado.
Calculando Similaridade entre
            Dados de Categoria

   Como calcular a similaridade quando os dados
    são do tipo (masculino, feminino, alto e baixo)?

   Dado um vetor com N atributos, deve-se
    comparar com outro vetor com os mesmos N
    atributos, e então, verificar quantos destes
    elementos se combinam.
Calculando Similaridade entre
                Dados de Categoria
   Uma maneira de comparar os atributos é usando
    uma matriz que auxilia a análise.
   Usando a matriz a abaixo como guia, percebe-se
    que A é igual a uma combinação 1 e 1, B é igual a
    uma combinação 1 e 0, C = 0 e 1 e D = 0 e 0

                    Y[j]
                1          0
            1   A          B
     X[j]
            0   C          D
Calculando Similaridade entre
                Dados de Categoria
   Analisando dois vetores onde os atributos sejam: alto,
    magro, loiro, rico, branco, adulto e homem.
        Alto Magro Loiro Rico Branco Adulto Homem
    vt1 0           1          0   1   1   1    0
    vt2 1           1          0   0   1   1    0

                    Y[j]
                1          0
            1   A          B
     X[j]
            0   C          D
Calculando Similaridade entre
               Dados de Categoria
       Alto Magro Loiro Rico Branco Adulto Homem
    vt1 0          1          0   1   1   1    0
    vt2 1          1          0   0   1   1    0
   Analizando os vetores vemos que: Alto é 0 e 1, Loiro
    Branco e Adulto são 1 e 1, Loiro e Homem são 0 e 0
    e o Rico é 1 e 0.
                   Y[j]
               1          0
           1   A          B
    X[j]
           0   C          D
Calculando Similaridade entre
            Dados de Categoria
      Alto Magro Loiro Rico Branco Adulto Homem
    vt1 0    1     0    1     1     1      0
    vt2 1    1    0     0     1     1      0


   1 e 1 foram 3, então, A = 3;
   1 e 0 foram 1, então, B = 1;
   0 e 1 foram 1, então, C = 1;
   0 e 0 foram 2, então, D = 2
Calculando Similaridade entre
               Dados de Categoria
   Tendo esses valores, a similariadade
    pode ser calculada usando alguns
    métodos como:
                      Correlação = (A + D) / (A + B + C + D)
                      Coeficiente de Jacard = A / (A + B + C + D)
                           Usado quando um falso verdadeiro não implicar
                             numa solução errada do problema.
                   Y[j]
                                 Se a comparação for feita entre um urubú e
               1          0
                                    um dinossáuro de asas, e o atributo for
           1   A          B
    X[j]                            ”possue asas”. Os dois são verdadeiros,
           0   C          D
                                    mas isso não implica que sejam iguais.
Algoritmo de Clusterização por
         Hierarquia.
Algoritmo de Clusterização por
             Hierarquia.
   Clusterização por Hierarquia solicita uma
    conjunto de ponto (tuplas) como entrada.
   Esse conjunto de pontos vão se transformar
    numa árvore. Correlacionado seus pontos com
    o seus grau de similaridade.
                A árvore é normalmente chamada de
                  dendograma.
Algoritmo de Clusterização por
             Hierarquia.
   O método:
       Coloque todos os pontos dentro de seu próprio
        clusters.
                  Enquanto houver mais do que um cluster faça
                    o merge dos pares de clusters mais
                    próximos.


       O comportamento do método vai depender de
        quão próximo os pares de clusteres estão
        definidos.
Clusteriazação por Hierarquia:
      Juntando Clusters



            Para ligar dois cluster pode-se
             usar medida entre os pontos
             mais próximos entre um cluster
             e outro.
Clusteriazação por Hierarquia:
          Juntando Clusters


   Para ligar dois clusters
    pode-se usar a medida
    da distância entre os
    pontos médios
    (centróide) de cada
    cluster.
Clusteriazação por Hierarquia:
      Juntando Clusters


              E ainda, para ligar dois
               clusters pode-se usar a
               distância entre os pontos
               mais distantes
Emxemplo de Clusterização por
            Hierarquia
   Este exemplo usa a ligação de clusters pelos
    ponto de menor distância .

                     F
                         E

             A
                 B

         C           D

                             A   B   C   D   E   F
Clusterização por Hierarquia –
            Pontos Fracos
   O tipo usado mais comum, é a união de
    clusters a partir de seus pontos mais próximos.
    Sendo um método particularmete guloso.
       Caso dois pontos de clusters distintos estejam
        próximos um do outro, a distinção é perdida.
       Em relação aos dois outro métodos de ligação de
        clusters, estes tendem a formar clusters esféricos,
        da mesma forma que o k-means.
       A divisão da árvore em clusters não fica de modo
        conveniente sem a intervenção humana.
                   Existem algumas ferramentas automatizadas
                     para isso, com critérios pré-estabelecidos.
       Assim como o k-means é sensível a outlier.
O Algoritmo K-means
O Algoritmo K-means
   A entrada para esse algoritmo é um conjunto
    de pontos numéricos em N dimensões e uma
    valor inteiro K.
   O algoritmo irá gerar K clusters, assim:
       1 – Coleque K centroides aleatóreamente
       2 – Atribua cada ponto a um centróide mais
        próximo criando um cluster.
       3 – Calcule a média entre os pontos internos a um
        cluster.
       4 – A posição média é atribuida ao centróide (que
        muda de posição).
       5 – O cálculo deve ser refeito apartir do nº 2 até
        que se estabilize
Exemplo com K = 3
                        1 – coloque os centróides
                         (pontos grandes)
                         aleatóriamente


   2 – Atribua os pontos mais
    próximos a um centróide.



                            3 – Recalcule a posição dos
                             centróides
Escolhendo o Número K


   Como escolher o número de clusters para o
    espaço de dados?
       Essa é uma questão que não é simples de resolver
        e existem alguns métodos para tentar chegar a
        este objetivo.
Escolhendo o Número K

   De maneira pragmática pode-se aplicar uma
    fórmula (a Regra de Ouro) que determina um valor
    aproximado de K:
                    *onde n é igual ao número de pontos no espaço
                    d-dimensional
Escolhendo o Número K

   Outro método usado calcula a covariância dos
    atributos dentro de um mesmo cluster. Quanto
    menor esta medida, mais semelhantes são os
    dados. Assim sendo, o cálculo da distorção
    apresentado abaixo é usado no método Jump
    descrito no próximo slide.

                                      Onde Cx é o cluster
                                        cujo elemento X
                                        está inserido.
Escolhendo o Número K –
Abordagem usando Teoria da Informação

   Método do Pulo:
                                                Onde: X são os dados de
    JumpMethod(X):                             entreda da clusterização. E,
                                                p é a dimensão dos dados
      Deixe Y = (p/2)                                   de entrada
                                                  (número de atributos).
      Crie uma lista D, de tamanho n+1              K = nº de clusters.
      Deixe D[0] = 0
      Para k = 1 ... n Faça:
        Clusterize X com k clusters (exemplo, como k-means)
        Deixe d = Distorção da Cluterização Resultante
        D[k] = d^(-Y)
      Defina J(i) = D[i] - D[i-1]
                                                     O índice do
      Retorne K entre 1 e n maximizando J(k)         maior elemento
                                                     do vetor J.
Escolhendo o Número K –
         Método do Cotovelo
   Inicializa-se o K com valor 1, então aumenta-se
    gradativamente este valor. Caso não haja uma
    mudança significativa na variância, pode-se
    concluir que um número para K foi achado (um
    número maior para K não acrescentaria
    substancialmente no resultado qualitativo dos dados).
Escolhendo o Número K –
        Método do Cotovelo

   O critério de parada, como dito, é o de não
    haver uma mudança significativa na variância
    calculada. A palavra ”significativa” introduz
    subjetividade ao método, pois não há um valor
    preciso determinando o fim do cálculo e
    fazendo com que o valor de K não se torne
    preciso.
Pontos Fracos do K-means

   Dados devem ser numéricos e devem ser
    comparáveis via alguma forma de distância (há
    uma variante chamada k-medianas que cuida
    dessas falhas).
   O algoritmo trabalha melhor sobre dados
    contidos em clusteres esféricos. Clusters com
    outras geometrias podem não ser localizados.
   K-means é sensível a outliers (pontos que não
    pertencem a nenhum cluster) - Esses outlieres
    pondem distorcer a posição do centroide e
    estragar o agrupamento.
Métodos de Grafos:
           Componentes e Cortes
   Define um grafo de similaridade sobre um
    conjunto de objetos como a seguir:
       Vértices são os objetos por si só.
       Arestas não direcionadas juntam vértices
        denominados similares.
                   Arestas podem ser ponderadas por grau de
                     similaridade.
   Um componente conexo é um conjunto de
    objetos tal que: cada objeto é alcançável no
    caminho pelos outros objetos.
   Um corte de peso mínimo é aquele que cria um
    novo componente conexo com a soma das
    arestas cortadas sendo a mínima possível.
Componentes Conexos para
          Clusterização



   O grafo acima tem 3 componentes ou clusters
   O algoritmo para achá-los é muito rápido e
    simples.
   Essa abordagem tem pontos fracos óbvios; por
    exemplo:
                O nodo vermelho não é similar a maioria dos
                  objetos em seu cluster
                A aresta vermelha conecta dois componentes
                  que deveriam provavelmente estar separados
Cortes de Peso Mínimo para
            Clusterização
   Execute o algoritmo de corte de ”conjunto de
    peso mínimo”, duas vezes, no grafo do
    exemplo anterior, para produzir boa
    clusterização (assumindo que o peso de cada
    aresta seja 1).



   Se objetos dentro de um cluster são muito mais
    similares do que objetos em clusters
    separados, então o método funciona bem.
Cortes de Peso Mínimo para
             Clusterização


   Desvantanges:
               Algoritmo de corte máximo é muito lento, e
                 potencialmente deve ser executado muitas
                 vezes.
               Não há um ponto necessariamente evidente em
                 que o algoritmo deva parar.
Análise de Componente Principal
Análise de Componente Principal
   Problema: muitos tipos de dados tem muitos
    atributos para serem visualizados ou manipulados
    convenientemente.
                 Por exemplo, um único microarray pode ter de
                   6000 a 8000 genes.
   PCA: é um método para reduzir o número de
    atributos (dimensões) de dados numéricos
    enquanto tenta preservar a estrutura do cluster.
                 Depois do PCA, é esperado que se obtenha os
                   mesmos clusters que seriam obtidos antes do
                   PCA.
                 Por usar o PCA para reduzir os atributos para 3
                   ou 2 dimensões os visualizadores de geometria
                   comerciais podem ser usados para exibir os
                   dados.
O Algoritmo PCA

   Considere o dado como uma matriz M x N no
    qual as colunas são as amostras e as linhas ao
    atributos.
   Os autovetores correpondentes aos d maiores
    autovalores desta matriz são os componentes
    principais.
   Por projetar os dados nesses vetores, se
    obtem pontos d-dimensionais.
O Algoritmo PCA

   Considere o exemplo abaixo, projetando dados
    2D com 2 clusters (vermelho e azul) em 1
    dimensão.



                  Principal
                 component

                              After projection
Desafios na Clusterização
   Calculo de similaridade:
       Resultados de algoritmos dependem da similaridade
        usada.
       Sistemas de clusterização oferecem pouco auxílio em
        como escolher similaridade.
       Computar similaridade de dados mistos é difícil.
       A similaridade é muito dependente da representação
        do dado.
                   Questões:
                           Normaliza-se os dado?
                           Como se deveria representar os dados?
                              -numericamente, categoricamente, etc.
                           Clusterizar somente um subgrupo dos dados?
                           O computador deveria fazer mais para que o
                              usuário descubra como representar os dados!
Desafios na Clusterização



   Seleção de parâmetro:
               Algoritmos atuais requerem muitos parâmetros
                 arbtrários e selecionados pelo usuário.
Conclusão

   Clusterização é uma maneira útil de explorar os
    dados, mas é ainda muito ad hoc (sem muito
    formalismo, rigor científico).
   Bons resultados são frequentemente
    dependentes em escolher a representação dos
    dados certa e a métrica de similaridade.
                Dado: categórico, numérico, lógico e etc.
                Similaridade: distância, correlação, etc.
   Muitas escolhas diferentes de algoritmos, cada
    uma com diferentes virtudes e deficiências.
Exercícios

   1- Dado dois elementos cujos atributos sejam,
    Alto, Magro, Loiro, Rico, Branco, Adulto, Homem e
    com a seguinte configuração:
        Y1     y2   y3    y4    y5     y6      y7
       Alto Magro Loiro Rico Branco Adulto Homem
    vt1 0     1     0    1      1       1      0        x1
    vt2 1     1     0    0      1      1       0        x2

    a) Calcule o coeficiente de Correlação usando o
    Coeficiente de Jacard.
Exercícios

   2- Calcule um múmero K do método de
    clusterização K-means quando o espaço de
    dados é igual a 1000 elementos.
Exercícios

   3- Faça um dendograma apartir da seguinte
    disposição:

                a.                   d.
                b.                  c.
                     e.

                          f.
                               h.
                g.                        i.
Exercícios

   4- Forme 2 clusters usando o algoritmo de
    clusterização de grafo por corte mínimo.

                                 3       d
                     a



                                     4
                          1.
                             3
                  1.5



                                 c
                         2.0
                 b
Exercícios

   5- O que é clusterização?
Links Interessantes

   K-means:
                Applet:
                 http://home.dei.polimi.it/matteucc/Clustering/tutori
                   al_html/AppletKM.html
   Hierarchical:
                Applet:
                 http://metamerist.com/slhc/example40.htm
Referências

   SEGARAN, Toby. Programando a
    Inteligência Coletiva. O'REILLY: Rio de
    Janeiro. 2008.
   WITTEN, Ian H.; Frank, Eibe. Data Mining:
    Practical Machine Learning Tools ans
    Techniques. 2ª Ed. Morgan Kaufmann
    Publishers: San Francisco. 2005.
   MARDIA, Kanti; et. al. Multivariate Analysis.
    Academic Press. 1979.

More Related Content

What's hot

Classificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAClassificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAAndré Andrade
 
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.Paulo Henrique Barbosa do Nascimento
 
Alfabeto manual Numerais em LIBRAS
Alfabeto manual   Numerais em LIBRASAlfabeto manual   Numerais em LIBRAS
Alfabeto manual Numerais em LIBRASNelinha Soares
 
Evolução territorial do brasil em mapas (1534 atual
Evolução territorial do brasil em mapas (1534 atualEvolução territorial do brasil em mapas (1534 atual
Evolução territorial do brasil em mapas (1534 atualJailson Alves
 
1 slide saudações e cumprimentos
1 slide saudações e cumprimentos1 slide saudações e cumprimentos
1 slide saudações e cumprimentosFlavia Costa
 
Manual - Enquadramento, Ângulos e planos
Manual - Enquadramento, Ângulos e planosManual - Enquadramento, Ângulos e planos
Manual - Enquadramento, Ângulos e planosAndreia Filipa Cardoso
 
Mauricio de Sousa - 50 anos
Mauricio de Sousa - 50 anosMauricio de Sousa - 50 anos
Mauricio de Sousa - 50 anosJornal Ibiá
 
Revisão para atividade diagnóstica 2º ano - tabela periódica
Revisão para atividade diagnóstica   2º ano - tabela periódicaRevisão para atividade diagnóstica   2º ano - tabela periódica
Revisão para atividade diagnóstica 2º ano - tabela periódicaHugo Cruz Rangel
 
Dalton /Gay Lussac
Dalton /Gay LussacDalton /Gay Lussac
Dalton /Gay LussacKarol Maia
 
Isomeria Óptica
Isomeria ÓpticaIsomeria Óptica
Isomeria Ópticatctieri
 
Doença de mc ardle
Doença de mc ardleDoença de mc ardle
Doença de mc ardleCarol Razo
 
Química Inorgânica - Estudo da família do Nitrogênio e Calcogênios
Química Inorgânica - Estudo da família do Nitrogênio e CalcogêniosQuímica Inorgânica - Estudo da família do Nitrogênio e Calcogênios
Química Inorgânica - Estudo da família do Nitrogênio e CalcogêniosLucas Valente
 

What's hot (20)

Aula 3 - Da imagem ao mapa
Aula 3 - Da imagem ao mapaAula 3 - Da imagem ao mapa
Aula 3 - Da imagem ao mapa
 
Classificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAClassificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATA
 
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
Estrutura de Carboidratos: Monossacarídeos, Oligossacarídeos e Polissacarídeos.
 
Alfabeto manual Numerais em LIBRAS
Alfabeto manual   Numerais em LIBRASAlfabeto manual   Numerais em LIBRAS
Alfabeto manual Numerais em LIBRAS
 
Evolução territorial do brasil em mapas (1534 atual
Evolução territorial do brasil em mapas (1534 atualEvolução territorial do brasil em mapas (1534 atual
Evolução territorial do brasil em mapas (1534 atual
 
1 slide saudações e cumprimentos
1 slide saudações e cumprimentos1 slide saudações e cumprimentos
1 slide saudações e cumprimentos
 
Manual - Enquadramento, Ângulos e planos
Manual - Enquadramento, Ângulos e planosManual - Enquadramento, Ângulos e planos
Manual - Enquadramento, Ângulos e planos
 
Fusos e escalas
Fusos e escalasFusos e escalas
Fusos e escalas
 
Mauricio de Sousa - 50 anos
Mauricio de Sousa - 50 anosMauricio de Sousa - 50 anos
Mauricio de Sousa - 50 anos
 
Revisão para atividade diagnóstica 2º ano - tabela periódica
Revisão para atividade diagnóstica   2º ano - tabela periódicaRevisão para atividade diagnóstica   2º ano - tabela periódica
Revisão para atividade diagnóstica 2º ano - tabela periódica
 
iPad Estratégia de Marketing
iPad Estratégia de MarketingiPad Estratégia de Marketing
iPad Estratégia de Marketing
 
Dalton /Gay Lussac
Dalton /Gay LussacDalton /Gay Lussac
Dalton /Gay Lussac
 
REDE DE DRENAGEM
REDE DE DRENAGEMREDE DE DRENAGEM
REDE DE DRENAGEM
 
Isomeria Óptica
Isomeria ÓpticaIsomeria Óptica
Isomeria Óptica
 
Levantamento Topografico Palnimetrico
Levantamento Topografico PalnimetricoLevantamento Topografico Palnimetrico
Levantamento Topografico Palnimetrico
 
Doença de mc ardle
Doença de mc ardleDoença de mc ardle
Doença de mc ardle
 
Estudo do metano
Estudo do metanoEstudo do metano
Estudo do metano
 
GEOGRAFIA(4).pdf
GEOGRAFIA(4).pdfGEOGRAFIA(4).pdf
GEOGRAFIA(4).pdf
 
Métodos de medição angular
Métodos de medição angularMétodos de medição angular
Métodos de medição angular
 
Química Inorgânica - Estudo da família do Nitrogênio e Calcogênios
Química Inorgânica - Estudo da família do Nitrogênio e CalcogêniosQuímica Inorgânica - Estudo da família do Nitrogênio e Calcogênios
Química Inorgânica - Estudo da família do Nitrogênio e Calcogênios
 

Viewers also liked

Recursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de ClustersRecursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de ClustersRodrigo Nunes
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RDiego Nogare
 
Kmeans
KmeansKmeans
KmeansWagner
 
Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningLuiz Costa
 
Palestra Senai business intelligence_versão final
Palestra Senai business intelligence_versão finalPalestra Senai business intelligence_versão final
Palestra Senai business intelligence_versão finalSamuel Gonsales
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquinaparasite
 
Informatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosInformatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosArthur Emanuel
 

Viewers also liked (9)

Recursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de ClustersRecursos do Ambiente R para a Análise de Clusters
Recursos do Ambiente R para a Análise de Clusters
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e R
 
Kmeans
KmeansKmeans
Kmeans
 
Aplicações Práticas de Machine Learning
Aplicações Práticas de Machine LearningAplicações Práticas de Machine Learning
Aplicações Práticas de Machine Learning
 
Palestra Senai business intelligence_versão final
Palestra Senai business intelligence_versão finalPalestra Senai business intelligence_versão final
Palestra Senai business intelligence_versão final
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 
Relatorio final
Relatorio finalRelatorio final
Relatorio final
 
Machine Learning - Introdução e Aplicações
Machine Learning - Introdução e AplicaçõesMachine Learning - Introdução e Aplicações
Machine Learning - Introdução e Aplicações
 
Informatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - ExerciciosInformatica - Aula10 - Excel - Exercicios
Informatica - Aula10 - Excel - Exercicios
 

Similar to Clustering Data Mining

Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesJoaquimOliveiraBapti1
 
Big Data e Data Science - GBG - Google Business Group
Big Data e Data Science - GBG - Google Business GroupBig Data e Data Science - GBG - Google Business Group
Big Data e Data Science - GBG - Google Business GroupDiego Nogare
 
Implementação mód4 -
Implementação   mód4 - Implementação   mód4 -
Implementação mód4 - inechidias
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4 inechidias
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4 inechidias
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 
Implementação mód4 - encontro 1-
Implementação   mód4 - encontro 1-Implementação   mód4 - encontro 1-
Implementação mód4 - encontro 1-inechidias
 
Implementação módulo4
Implementação   módulo4 Implementação   módulo4
Implementação módulo4 inechidias
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexosinechidias
 
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs ComplexosImplementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexosinechidias
 
Tratamento e Organização de Dados
Tratamento e Organização de DadosTratamento e Organização de Dados
Tratamento e Organização de Dadosestudamatematica
 

Similar to Clustering Data Mining (20)

Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Estatística - Aula 2
Estatística - Aula 2Estatística - Aula 2
Estatística - Aula 2
 
Analise de clusters
Analise de clustersAnalise de clusters
Analise de clusters
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Distribuições bidimensionais animador sociocultural 1
Distribuições bidimensionais animador sociocultural 1Distribuições bidimensionais animador sociocultural 1
Distribuições bidimensionais animador sociocultural 1
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessões
 
Big Data e Data Science - GBG - Google Business Group
Big Data e Data Science - GBG - Google Business GroupBig Data e Data Science - GBG - Google Business Group
Big Data e Data Science - GBG - Google Business Group
 
Implementação mód4 -
Implementação   mód4 - Implementação   mód4 -
Implementação mód4 -
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 
Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)
 
Implementação mód4 - encontro 1-
Implementação   mód4 - encontro 1-Implementação   mód4 - encontro 1-
Implementação mód4 - encontro 1-
 
Implementação módulo4
Implementação   módulo4 Implementação   módulo4
Implementação módulo4
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
 
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs ComplexosImplementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
 
Tratamento e Organização de Dados
Tratamento e Organização de DadosTratamento e Organização de Dados
Tratamento e Organização de Dados
 
Analise exploratório de dados
Analise exploratório de dadosAnalise exploratório de dados
Analise exploratório de dados
 
Aula 00
Aula 00Aula 00
Aula 00
 

More from iaudesc

Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimariaudesc
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzyiaudesc
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticosiaudesc
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celularesiaudesc
 
Vida artificial
Vida artificialVida artificial
Vida artificialiaudesc
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiaisiaudesc
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)iaudesc
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogosiaudesc
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genéticaiaudesc
 
Busca tabu
Busca tabuBusca tabu
Busca tabuiaudesc
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianasiaudesc
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CPiaudesc
 

More from iaudesc (12)

Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimar
 
Seminario fuzzy
Seminario fuzzySeminario fuzzy
Seminario fuzzy
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
 
Autômatos celulares
Autômatos celularesAutômatos celulares
Autômatos celulares
 
Vida artificial
Vida artificialVida artificial
Vida artificial
 
RNA - Redes neurais artificiais
RNA - Redes neurais artificiaisRNA - Redes neurais artificiais
RNA - Redes neurais artificiais
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
 
Algoritmos de jogos
Algoritmos de jogosAlgoritmos de jogos
Algoritmos de jogos
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genética
 
Busca tabu
Busca tabuBusca tabu
Busca tabu
 
Seminário redes bayesianas
Seminário redes bayesianasSeminário redes bayesianas
Seminário redes bayesianas
 
Solvers and Applications with CP
Solvers and Applications with CPSolvers and Applications with CP
Solvers and Applications with CP
 

Clustering Data Mining

  • 1. Data Mining - Clustering Uma revisão de alguns métodos de Clusterização  Cleber Nathan Dias clebernd@yahoo.com.br
  • 2. O que é clusterização? Visão Geral  Usados para descobrir bases científicas em padrões de dados inesperados.  Também chamado de ”unsupervised learning”  É uma sub-área da mineração de dados.  Dado um conjunto de objetos, montar grupos com base em suas similaridades.  A complexidade do problema dificulta encontrar uma solução ótima. (não é um problema fechado)  como definir o que é similaridade?  mesmo com uma métrica é difícil encontrar a solução exata.
  • 3. O que é clusterização?  Na situação ao lado temos 9 bolas com 3 cores diferentes.  O objetivo aqui foi agrupar as bolas de cores iguais  Desse modo a gente percebe o que pode significar os agrupamentos
  • 4. Representações de Dados para Clusterização  A entrada para um algoritmo de clusterização normalmente é um vetor (tuple ou record).  Os tipos de dados podem ser:  Numérico  De categoria  Boleano
  • 5. Representações de Dados para Clusterização – Um Exemplo  Numa clínica médica, por exemplo pode-se encontrar dados como:  Idade (numérico)  Peso (numérico)  Sexo (categoria)  Doente (boleano)  Deve incluir um método para computar a similaridade de vetores ou a distância entre vetores. (cada ponto plotado no gráfico tem um vetor de dados associado)
  • 6. Calculando Distâncias  O método natural para dados numéricos é o cálculo das distâncias.  Normalmente valores menores representam maiores similaridades.  Não generalize para valores não numérico!  Qual é distância entre masculino e feminino?  Métricas para Cálculo da Distância:  Distância Euclidiana  Distância de Manhattan  Etc.
  • 8. Calculando Similaridade entre Dados Numéricos  Tradicionalmente usa-se valores de similaridade entre 0 e 1:  0.0 = sem similaridade  1.0 = idêntico  Convertendo distância em similaridade:  Pega-se dois pontos do gráfico e acha-se a distância entre eles.  1 – (a distância) = grau de similariadade  Os dados devem de início ser normalizados para que os valores das distâncias fiquem num intervalo de 0 a 1.  Normalizar é dividir os valores de tal modo que que se enquadrem no intervalo desejado.
  • 9. Calculando Similaridade entre Dados de Categoria  Como calcular a similaridade quando os dados são do tipo (masculino, feminino, alto e baixo)?  Dado um vetor com N atributos, deve-se comparar com outro vetor com os mesmos N atributos, e então, verificar quantos destes elementos se combinam.
  • 10. Calculando Similaridade entre Dados de Categoria  Uma maneira de comparar os atributos é usando uma matriz que auxilia a análise.  Usando a matriz a abaixo como guia, percebe-se que A é igual a uma combinação 1 e 1, B é igual a uma combinação 1 e 0, C = 0 e 1 e D = 0 e 0 Y[j] 1 0 1 A B X[j] 0 C D
  • 11. Calculando Similaridade entre Dados de Categoria  Analisando dois vetores onde os atributos sejam: alto, magro, loiro, rico, branco, adulto e homem. Alto Magro Loiro Rico Branco Adulto Homem vt1 0 1 0 1 1 1 0 vt2 1 1 0 0 1 1 0 Y[j] 1 0 1 A B X[j] 0 C D
  • 12. Calculando Similaridade entre Dados de Categoria Alto Magro Loiro Rico Branco Adulto Homem vt1 0 1 0 1 1 1 0 vt2 1 1 0 0 1 1 0  Analizando os vetores vemos que: Alto é 0 e 1, Loiro Branco e Adulto são 1 e 1, Loiro e Homem são 0 e 0 e o Rico é 1 e 0. Y[j] 1 0 1 A B X[j] 0 C D
  • 13. Calculando Similaridade entre Dados de Categoria Alto Magro Loiro Rico Branco Adulto Homem vt1 0 1 0 1 1 1 0 vt2 1 1 0 0 1 1 0  1 e 1 foram 3, então, A = 3;  1 e 0 foram 1, então, B = 1;  0 e 1 foram 1, então, C = 1;  0 e 0 foram 2, então, D = 2
  • 14. Calculando Similaridade entre Dados de Categoria  Tendo esses valores, a similariadade pode ser calculada usando alguns métodos como:  Correlação = (A + D) / (A + B + C + D)  Coeficiente de Jacard = A / (A + B + C + D) Usado quando um falso verdadeiro não implicar numa solução errada do problema. Y[j]  Se a comparação for feita entre um urubú e 1 0 um dinossáuro de asas, e o atributo for 1 A B X[j] ”possue asas”. Os dois são verdadeiros, 0 C D mas isso não implica que sejam iguais.
  • 15. Algoritmo de Clusterização por Hierarquia.
  • 16. Algoritmo de Clusterização por Hierarquia.  Clusterização por Hierarquia solicita uma conjunto de ponto (tuplas) como entrada.  Esse conjunto de pontos vão se transformar numa árvore. Correlacionado seus pontos com o seus grau de similaridade.  A árvore é normalmente chamada de dendograma.
  • 17. Algoritmo de Clusterização por Hierarquia.  O método:  Coloque todos os pontos dentro de seu próprio clusters.  Enquanto houver mais do que um cluster faça o merge dos pares de clusters mais próximos.  O comportamento do método vai depender de quão próximo os pares de clusteres estão definidos.
  • 18. Clusteriazação por Hierarquia: Juntando Clusters  Para ligar dois cluster pode-se usar medida entre os pontos mais próximos entre um cluster e outro.
  • 19. Clusteriazação por Hierarquia: Juntando Clusters  Para ligar dois clusters pode-se usar a medida da distância entre os pontos médios (centróide) de cada cluster.
  • 20. Clusteriazação por Hierarquia: Juntando Clusters  E ainda, para ligar dois clusters pode-se usar a distância entre os pontos mais distantes
  • 21. Emxemplo de Clusterização por Hierarquia  Este exemplo usa a ligação de clusters pelos ponto de menor distância . F E A B C D A B C D E F
  • 22. Clusterização por Hierarquia – Pontos Fracos  O tipo usado mais comum, é a união de clusters a partir de seus pontos mais próximos. Sendo um método particularmete guloso.  Caso dois pontos de clusters distintos estejam próximos um do outro, a distinção é perdida.  Em relação aos dois outro métodos de ligação de clusters, estes tendem a formar clusters esféricos, da mesma forma que o k-means.  A divisão da árvore em clusters não fica de modo conveniente sem a intervenção humana.  Existem algumas ferramentas automatizadas para isso, com critérios pré-estabelecidos.  Assim como o k-means é sensível a outlier.
  • 24. O Algoritmo K-means  A entrada para esse algoritmo é um conjunto de pontos numéricos em N dimensões e uma valor inteiro K.  O algoritmo irá gerar K clusters, assim:  1 – Coleque K centroides aleatóreamente  2 – Atribua cada ponto a um centróide mais próximo criando um cluster.  3 – Calcule a média entre os pontos internos a um cluster.  4 – A posição média é atribuida ao centróide (que muda de posição).  5 – O cálculo deve ser refeito apartir do nº 2 até que se estabilize
  • 25. Exemplo com K = 3  1 – coloque os centróides (pontos grandes) aleatóriamente  2 – Atribua os pontos mais próximos a um centróide.  3 – Recalcule a posição dos centróides
  • 26. Escolhendo o Número K  Como escolher o número de clusters para o espaço de dados?  Essa é uma questão que não é simples de resolver e existem alguns métodos para tentar chegar a este objetivo.
  • 27. Escolhendo o Número K  De maneira pragmática pode-se aplicar uma fórmula (a Regra de Ouro) que determina um valor aproximado de K: *onde n é igual ao número de pontos no espaço d-dimensional
  • 28. Escolhendo o Número K  Outro método usado calcula a covariância dos atributos dentro de um mesmo cluster. Quanto menor esta medida, mais semelhantes são os dados. Assim sendo, o cálculo da distorção apresentado abaixo é usado no método Jump descrito no próximo slide.  Onde Cx é o cluster cujo elemento X está inserido.
  • 29. Escolhendo o Número K – Abordagem usando Teoria da Informação  Método do Pulo: Onde: X são os dados de JumpMethod(X): entreda da clusterização. E, p é a dimensão dos dados Deixe Y = (p/2) de entrada (número de atributos). Crie uma lista D, de tamanho n+1 K = nº de clusters. Deixe D[0] = 0 Para k = 1 ... n Faça: Clusterize X com k clusters (exemplo, como k-means) Deixe d = Distorção da Cluterização Resultante D[k] = d^(-Y) Defina J(i) = D[i] - D[i-1] O índice do Retorne K entre 1 e n maximizando J(k) maior elemento do vetor J.
  • 30. Escolhendo o Número K – Método do Cotovelo  Inicializa-se o K com valor 1, então aumenta-se gradativamente este valor. Caso não haja uma mudança significativa na variância, pode-se concluir que um número para K foi achado (um número maior para K não acrescentaria substancialmente no resultado qualitativo dos dados).
  • 31. Escolhendo o Número K – Método do Cotovelo  O critério de parada, como dito, é o de não haver uma mudança significativa na variância calculada. A palavra ”significativa” introduz subjetividade ao método, pois não há um valor preciso determinando o fim do cálculo e fazendo com que o valor de K não se torne preciso.
  • 32. Pontos Fracos do K-means  Dados devem ser numéricos e devem ser comparáveis via alguma forma de distância (há uma variante chamada k-medianas que cuida dessas falhas).  O algoritmo trabalha melhor sobre dados contidos em clusteres esféricos. Clusters com outras geometrias podem não ser localizados.  K-means é sensível a outliers (pontos que não pertencem a nenhum cluster) - Esses outlieres pondem distorcer a posição do centroide e estragar o agrupamento.
  • 33. Métodos de Grafos: Componentes e Cortes  Define um grafo de similaridade sobre um conjunto de objetos como a seguir:  Vértices são os objetos por si só.  Arestas não direcionadas juntam vértices denominados similares.  Arestas podem ser ponderadas por grau de similaridade.  Um componente conexo é um conjunto de objetos tal que: cada objeto é alcançável no caminho pelos outros objetos.  Um corte de peso mínimo é aquele que cria um novo componente conexo com a soma das arestas cortadas sendo a mínima possível.
  • 34. Componentes Conexos para Clusterização  O grafo acima tem 3 componentes ou clusters  O algoritmo para achá-los é muito rápido e simples.  Essa abordagem tem pontos fracos óbvios; por exemplo:  O nodo vermelho não é similar a maioria dos objetos em seu cluster  A aresta vermelha conecta dois componentes que deveriam provavelmente estar separados
  • 35. Cortes de Peso Mínimo para Clusterização  Execute o algoritmo de corte de ”conjunto de peso mínimo”, duas vezes, no grafo do exemplo anterior, para produzir boa clusterização (assumindo que o peso de cada aresta seja 1).  Se objetos dentro de um cluster são muito mais similares do que objetos em clusters separados, então o método funciona bem.
  • 36. Cortes de Peso Mínimo para Clusterização  Desvantanges:  Algoritmo de corte máximo é muito lento, e potencialmente deve ser executado muitas vezes.  Não há um ponto necessariamente evidente em que o algoritmo deva parar.
  • 38. Análise de Componente Principal  Problema: muitos tipos de dados tem muitos atributos para serem visualizados ou manipulados convenientemente.  Por exemplo, um único microarray pode ter de 6000 a 8000 genes.  PCA: é um método para reduzir o número de atributos (dimensões) de dados numéricos enquanto tenta preservar a estrutura do cluster.  Depois do PCA, é esperado que se obtenha os mesmos clusters que seriam obtidos antes do PCA.  Por usar o PCA para reduzir os atributos para 3 ou 2 dimensões os visualizadores de geometria comerciais podem ser usados para exibir os dados.
  • 39. O Algoritmo PCA  Considere o dado como uma matriz M x N no qual as colunas são as amostras e as linhas ao atributos.  Os autovetores correpondentes aos d maiores autovalores desta matriz são os componentes principais.  Por projetar os dados nesses vetores, se obtem pontos d-dimensionais.
  • 40. O Algoritmo PCA  Considere o exemplo abaixo, projetando dados 2D com 2 clusters (vermelho e azul) em 1 dimensão. Principal component After projection
  • 41. Desafios na Clusterização  Calculo de similaridade:  Resultados de algoritmos dependem da similaridade usada.  Sistemas de clusterização oferecem pouco auxílio em como escolher similaridade.  Computar similaridade de dados mistos é difícil.  A similaridade é muito dependente da representação do dado.  Questões:  Normaliza-se os dado?  Como se deveria representar os dados? -numericamente, categoricamente, etc.  Clusterizar somente um subgrupo dos dados?  O computador deveria fazer mais para que o usuário descubra como representar os dados!
  • 42. Desafios na Clusterização  Seleção de parâmetro:  Algoritmos atuais requerem muitos parâmetros arbtrários e selecionados pelo usuário.
  • 43. Conclusão  Clusterização é uma maneira útil de explorar os dados, mas é ainda muito ad hoc (sem muito formalismo, rigor científico).  Bons resultados são frequentemente dependentes em escolher a representação dos dados certa e a métrica de similaridade.  Dado: categórico, numérico, lógico e etc.  Similaridade: distância, correlação, etc.  Muitas escolhas diferentes de algoritmos, cada uma com diferentes virtudes e deficiências.
  • 44. Exercícios  1- Dado dois elementos cujos atributos sejam, Alto, Magro, Loiro, Rico, Branco, Adulto, Homem e com a seguinte configuração: Y1 y2 y3 y4 y5 y6 y7 Alto Magro Loiro Rico Branco Adulto Homem vt1 0 1 0 1 1 1 0 x1 vt2 1 1 0 0 1 1 0 x2 a) Calcule o coeficiente de Correlação usando o Coeficiente de Jacard.
  • 45. Exercícios  2- Calcule um múmero K do método de clusterização K-means quando o espaço de dados é igual a 1000 elementos.
  • 46. Exercícios  3- Faça um dendograma apartir da seguinte disposição: a. d. b. c. e. f. h. g. i.
  • 47. Exercícios  4- Forme 2 clusters usando o algoritmo de clusterização de grafo por corte mínimo. 3 d a 4 1. 3 1.5 c 2.0 b
  • 48. Exercícios  5- O que é clusterização?
  • 49. Links Interessantes  K-means:  Applet: http://home.dei.polimi.it/matteucc/Clustering/tutori al_html/AppletKM.html  Hierarchical:  Applet: http://metamerist.com/slhc/example40.htm
  • 50. Referências  SEGARAN, Toby. Programando a Inteligência Coletiva. O'REILLY: Rio de Janeiro. 2008.  WITTEN, Ian H.; Frank, Eibe. Data Mining: Practical Machine Learning Tools ans Techniques. 2ª Ed. Morgan Kaufmann Publishers: San Francisco. 2005.  MARDIA, Kanti; et. al. Multivariate Analysis. Academic Press. 1979.