Marcus Sampaio DSC/UFCG Marcus Sampaio DSC/UFCG Classificação Não Supervisionada • As instâncias não são previamente classificadas • Um algoritmo de classificação não supervisionada define dinamicamente o atributo de classificação e as classes – Algoritmos de lógica muito complexa Lógica de Clustering Marcus Sampaio DSC/UFCG • O objetivo é mostrar as instâncias caem dentro de um grupo (cluster) – Um grupo podia ser clientes que compram muito equipamentos eletrônicos • Os algoritmos de clustering diferem – Na forma como os grupos são visualizados – Na precisão com que os grupos são definidos Marcus Sampaio DSC/UFCG Visualização de Grupos e d c j a h k b f i g Visualização de Grupos (2) d e a j c f k h g i b Note que uma instância pode pertencer a mais de um grupo Marcus Sampaio DSC/UFCG Semântica de Grupos Marcus Sampaio DSC/UFCG • O estágio de agrupamento (clustering) é muitas vezes seguido de outro estágio – Dado um grupo, uma árvore de decisão ou um conjunto de regras de classificação são inferidas para o grupo (definição do grupo) Algoritmo CobWeb • • • • Marcus Sampaio DSC/UFCG Técnica incremental de agrupamento Atributos nominais Agrupamentos hierárquicos de instâncias Category Utility – Medida de qualidade de um grupo Marcus Sampaio DSC/UFCG Algoritmo CobWeb (2) Estado Temp Umid Vento Jogo ensol quente alta falso não (a) ensol quente alta verdade não (b) nublado quente alta falso sim (c) chuvoso amena alta falso sim (d) chuvoso fria normal falso sim (e) chuvoso fria normal verdade não (f) nublado fria normal verdade sim (g) ensol amena alta falso não (h) ensol fria normal falso sim (i) Marcus Sampaio DSC/UFCG Algoritmo CobWeb (3) chuvoso amena normal falso sim (j) ensol amena normal verdade sim (k) nublado amena alta verdade sim (l) nublado quente normal falso sim (m) chuvoso amena alta verdade não (n) Marcus Sampaio DSC/UFCG Algoritmo CobWeb (4) a:não a:não b:não c:sim (1) d:sim (2) a:não b:não c:sim d:sim e:sim f:não (3) e:sim Marcus Sampaio DSC/UFCG Algoritmo CobWeb (5) a:não b:não c:sim d:sim e:sim f:não (4) g:sim Algoritmo CobWeb (6) b:não a:não d:sim h:não c:sim e:sim (5) Marcus Sampaio DSC/UFCG f:não g:sim Marcus Sampaio DSC/UFCG Algoritmo CobWeb (7) 1 2 3 5 4 e:sim a:não d:sim f:não 6 h:não i:sim g:sim j:sim 7 c:sim l:sim m:sim b:não k:sim (6) n:não Marcus Sampaio DSC/UFCG Algoritmo CobWeb (8) Estado Temp Umid Vento Jogo ensol quente alta falso não (a, 1-24) ensol quente alta verdade não (b), 1-25-7 nublado quente alta falso sim (c), 1-25 chuvoso amena alta falso sim (d, 1-24) chuvoso fria normal falso sim (e), 1-36 chuvoso fria normal verdade não (f), 1-3 nublado fria normal verdade sim (g), 1-3 ensol amena alta falso não (h, 1-24) ensol fria normal falso sim (i), 1-3-6 Marcus Sampaio DSC/UFCG Algoritmo CobWeb (9) chuvoso amena normal falso sim (j), 1-3 ensol amena normal verdade sim (k), 1-25-7 nublado amena alta verdade sim (l), 1-2-5 nublado quente normal falso sim (m), 1-3 chuvoso amena alta verdade não (n), 1-3 Algoritmo CobWeb (10) Marcus Sampaio DSC/UFCG • Aplicando um algoritmo de classificação, pode-se inferir a semântica dos grupos – – – – – 1-2-4 1-2-5-7 1-2-5 1-3-6 1-3 Algoritmo CobWeb (11) Marcus Sampaio DSC/UFCG • Para ver como a qualidade — category utility — de um grupo é calculada, consulte o livrotexto Algoritmo CobWeb (12) Marcus Sampaio DSC/UFCG • Como fazer predição com um modelo induzido por um algoritmo clustering? – Dada uma instância de execução, um algoritmo classifica a instância como pertencendo a um ou mais grupos • O algoritmo ‘conhece’ os “clusters” induzidos por CobWeb • O algoritmo ‘sabe’ interpretar os “clusters” “Clustering” de Documentos Marcus Sampaio DSC/UFCG • Organiza uma coleção de documentos sem rótulos: classificação não-supervisionada em Grupos (“Clusters”) – Um “cluster” deve conter documentos similares • O critério de similaridade é baseado no exame das palavras comuns aos documentos • Documentos com os mesmos rótulos lógicos “Clustering” de Documentos (2) Marcus Sampaio DSC/UFCG D6 D2 D3 D5 D3 D1 D11 D8 Clusters D6 D5 D1 D2 D12 D7 D11 D9 D4 D9 D3 D10 D4 D12 D6 D7 D10 “Clustering” de Documentos (3) Marcus Sampaio DSC/UFCG • Identificação de “clusters” – Em geral, os algoritmos de “clustering” numeram sequencialmente os “clusters” (1, 2, 3, ...) • O significado? TMSK: Coleção de palavras relevantes para um “cluster” • São úteis? • Exemplo: “Call Center” de uma Empresa de Produtos de Informática – Usuários submeteram problemas, ao longo do tempo – Classificação não-supervisionada • “Cluster” 1: problemas de impressora • “Cluster” 2: problemas de rede • ... – O que conseguimos com a classificação? Entender os tipos de problema submetidos • Priorização de problemas: tamanho dos “clusters” “Clustering” de Documentos (4) • Marcus Sampaio DSC/UFCG Identificação não-manual de “clusters” – Necessária se os “clusters” forem grandes 1. Classificação supervisionada • • Cada documento recebe como rótulo o número do seu “cluster” As regras conjunção de palavras de definição dos números são então induzidas por qualquer algoritmo de classificação supervisionada 2. Geração de um dicionário local a cada “cluster” “Clustering” de Documentos (5) Marcus Sampaio DSC/UFCG • Algoritmo “k-Means Clustering” – A lógica Documento 1 Documento 2 Calcule a similaridade Escore de Similaridade “Clustering” de Documentos (6) • Algoritmo “k-Means Clustering” --- Documentos --- --- “Clusters” --- Marcus Sampaio DSC/UFCG “Clustering” de Documentos (7) • 1. 2. 3. Marcus Sampaio DSC/UFCG Algoritmo “k-Means Clustering” Distribute all documents among the k bins Compute the mean vector for each bin Compare the vector of each document to the bin means and note the mean vector that is most similar 4. Move all documents to their most similar bins 5. If no document has been moved to a new bin, then stop; else go to step 2 “Clustering” de Documentos (8) • Marcus Sampaio DSC/UFCG Algoritmo “k-Means Clustering” – Exemplo • • • 2 “clusters” 5 documentos Vetores para uma única palavra, freqüência “Cluster” 1 “Cluster” 2 Initial: 0,4,2,3,4 Step 1: 0,4 Mean=2 2,3,4 Mean=3 Step 2: 0,2 Mean=1 4,3,4 Mean=3.67 Step 3: 0,2 Mean=1 4,3,4 Mean=3.67 “Clustering” de Documentos (9) • Marcus Sampaio DSC/UFCG Algoritmo “k-Means Clustering” – Como para o algoritmo “k-Nearest Neighbor”, como escolher k? • Ver discussão no livro “Text Mining”, seção 5.2.1 “kMeans Clustering” “Clustering” de Documentos (10) • Marcus Sampaio DSC/UFCG Outros Algoritmos (ver livro “Text Mining”) – “Centroid Classifier” – “Expectation Maximization” (EM) “Clustering” de Documentos (11) • Marcus Sampaio DSC/UFCG O Software TMSK – “Clustering” • kmeans – Identificação dos “clusters”: palavras do dicionário mais freqüentes em cada “cluster” • Dicionário local ao “cluster – Similaridade • matcher – Funciona como uma máquina de busca, mostrando os documentos mais similares a um certo documento