SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
AGRUPAMENTO COM K-MEANS 
Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
AGENDA 
• O que é agrupamento 
• Iterações do K-Means 
• Critérios e Propriedades do K-Means 
• O que é um bom agrupamento 
• Quantos grupos
O QUE É AGRUPAMENTO 
• Um agrupamento (cluster) é um subconjunto coeso de 
entidades: entre entidades de um cluster as similaridades são 
maiores do que entre entidades de fora do cluster 
• Agrupamento é um conjunto de métodos para encontrar 
clusters e estruturas de agrupamento nos dados.
DIFERENTES PERSPECTIVAS 
• Aprendizagem de máquina: análise não-supervisionada 
de padrões 
• Descoberta de conhecimento: construção de 
classificadores 
• Análise de dados: Identificar estruturas de 
agrupamento nos dados
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Agrupamento individual 
• Detectando comunidades em uma rede 
• Determinando um subconjunto de proteínas 
similares a uma determinada proteína 
• Identificando um subconjunto de documentos 
sobre um mesmo tema
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Particionamento 
• Divisão da população de acordo com diferentes 
estilos de vida 
• Agrupamento de territórios em regiões econômicas 
• Particionamento de imagens em segmentos 
homogêneos
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Agrupamento hierárquico 
• Taxonomia de organismos 
• Classificação de sub-áreas da computação 
• Ontologia de conceitos em um domínio
ITERAÇÕES DO K-MEANS 
• K-Means: Um método para construir K 
agrupamentos sem interseções 
• Cada agrupamento é representado por um centro ck 
e um conjunto Sk(k=1, …, K) 
Iris setosa: Centro 
S Length S Width P Length P Width 
Centro 5.006 3.428 1.462 0.246 
Média geral 5.843 5.057 3.758 1.199 
Diferença -0.837 0.371 -2.296 -0.953
ITERAÇÕES DO K-MEANS 
1. Especifique K, o número de agrupamentos, e os 
centros iniciais ck (k=1, …, K) 
2. Atualize os conjuntos Sk (k=1, …, K) 
3. Atualize os centros ck (k=1,…, K) 
4. Se os novos centros coincidem com os 
anteriores, pare, senão, vá para 2.
ITERAÇÕES DO K-MEANS 
a) b) 
c) d)
APLICANDO K-MEANS A BASE 
DE IRIS 
• Pré-processamento 
• A: Sem pré-processamento: todas as medidas estão 
relacionadas ao mesmo tipo de flor e na mesma unidade 
• B: (Z-Scoring) Cada variável é centralizada em relação a 
média e normalizada pelo desvio padrão 
• C: Cada variável é centralizada em relação a média e 
normalizada pelo range
APLICANDO K-MEANS A BASE 
DE IRIS 
• Especifique K = 3 e os exemplares 1, 51 e 101 como 
os centros iniciais (conhecimento preliminar) 
• A (sem pré-processamento): Convergiu em 4 iterações 
• B (Z-scoring): Convergiu em 7 iterações 
• C (Normalização pelo range): Convergiu em 5 
iterações
APLICANDO K-MEANS A BASE 
DE IRIS 
• http://blog.whn.se/post/28851413626/k-means-clustering- 
in-r
VANTAGENS 
• Computação é intuitiva 
• Processamento é rápido e não requer memória 
adicional 
• Processamento é fácil de paralelizar (big data)
DISCUSSÃO 
• O K-means sempre converge? 
• Os resultados são independentes da inicialização? 
• Se não, como devemos inicializar? 
• Como escolher o número de clusters K ?
O K-MEANS SEMPRE 
CONVERGE? 
• Minimizar W(S,c) alternando 
• Mins W(S,c): atualização dos clusters 
• Minc W(S,c): atualização dos centros 
• Portanto, W(S,c) diminui a cada passo: 
convergência 
Σ 
KΣ 
W(s,c) = d(i,ck ) 
i∈Sk 
k=1
OS RESULTADOS SÃO 
INDEPENDENTES DA INICIALIZAÇÃO? 
• Qual seria o agrupamento 
ótimo para K = 2 ? 
• Convergimos para esse 
agrupamento com 
qualquer dois pontos 
escolhidos como centros 
iniciais ?
COMO ESCOLHER OS 
CENTROS INICIAIS ? 
• Escolher os pontos que maximizem D(S,c) 
• onde: 
• Nk é o número de entidades em Sk 
• <ck,ck> é distância entre a origem e ck ao 
quadrado 
KΣ 
D(S,c) = Nk < ck ,ck > 
k=1
COMO ESCOLHER OS 
CENTROS INICIAIS ? 
• Requer que os pontos sejam pré-processados pela 
média (origem seria a média de todas as 
coordenadas)
O QUE É UM BOM 
AGRUPAMENTO? 
• Critério interno 
• Exemplo de critério interno: média do quadrado das distâncias 
no K-means 
• Porém, um critério interno muitas vezes não avalia a utilidade do 
agrupamento para uma aplicação. 
• Alternativa: Critério externo 
• Avaliar de acordo com um critério definido por humanos
O QUE É UM BOM 
AGRUPAMENTO? 
• Baseado em algum padrão amplamente adotado 
• Objetivo: O agrupamento deve reproduzir a 
classes definidas no padrão 
• Exemplo de medida de quão bem conseguimos 
reproduzir classes pré-definidas: pureza
CRITÉRIO EXTERNO: PUREZA 
• Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e 
• C = {c1, c2, . . . , cJ} é o conjunto de classes 
• Para cada grupo ωk : encontrar a cj com mais membros nkj em ωk 
• Somar todos os nkj e dividir pelo número total de pontos
EXEMPLO DO CALCULO 
PUREZA 
Para 
calcular 
a 
pureza: 
5 
= 
maxj 
|ω1 
∩ 
cj 
| 
(classe 
x, 
grupo 
1); 
4 
= 
maxj 
|ω2 
∩ 
cj 
| 
(classe 
o, 
grupo 
2); 
e 
3 
= 
maxj 
|ω3 
∩ 
cj 
| 
(classe 
⋄, 
grupo 
3). 
Pureza 
é 
(1/17) 
× 
(5 
+ 
4 
+ 
3) 
≈ 
0.71.
PUREZA DO AGRUPAMENTO 
DAS IRIS 
1 2 3 
setosa 50 0 0 
versicolor 0 2 48 
virginica 0 36 14 
Pureza = (1/150) * (50 + 36 + 48) = 0.89
QUANTOS GRUPOS? 
• O número de grupos K é dado em muitas aplicações. 
• Mas e quando isso não acontece? Há um número bom ou ruim para a 
quantidade de grupos? 
• Uma forma de agir: definir um critério de otimização 
• Dado o conjunto de dados, encontrar o K para o qual o valor ótimo é obtido 
• Que critérios de otimização podemos usar? 
• Não podemos utilizar a média dos quadrados das distâncias do centróide 
como critério: o valor ótimo sempre seria fazer K = N.
QUANTOS GRUPOS 
• Ideia básica: 
• Começar com 1 grupo (K = 1) 
• Continue adicionando grupos (= continue a aumentar K) 
• Adicione uma penalidade para cada novo grupo 
• Balancear a penalidade da adição de novos grupos e o quadrado das 
distâncias até os centroides 
• Escolher o valor K com o melhor tradeoff
ENCONTRANDO O K PARA A 
BASE DE IRIS 
http://www.statmethods.net/advstats/cluster.html

Mais conteúdo relacionado

Mais procurados

Sistema de numeração decimal
Sistema de numeração decimalSistema de numeração decimal
Sistema de numeração decimalLuzimeire Almeida
 
K MEANS CLUSTERING
K MEANS CLUSTERINGK MEANS CLUSTERING
K MEANS CLUSTERINGsingh7599
 
Conjuntos numericos - Caracateristicas e propriedades.
Conjuntos numericos - Caracateristicas e propriedades.Conjuntos numericos - Caracateristicas e propriedades.
Conjuntos numericos - Caracateristicas e propriedades.betontem
 
Análise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoAnálise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoVitor Vieira Vasconcelos
 
Passos para o geogebra
Passos para o geogebraPassos para o geogebra
Passos para o geogebraFranbfk
 
Introdução à Estatística Inferencial - Parte 1
Introdução à Estatística Inferencial - Parte 1Introdução à Estatística Inferencial - Parte 1
Introdução à Estatística Inferencial - Parte 1Rilva Lopes de Sousa Muñoz
 
Conjuntos MATEMÁTICA
Conjuntos MATEMÁTICAConjuntos MATEMÁTICA
Conjuntos MATEMÁTICAM. Martins
 
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]bibliotecaesla
 
Network embedding
Network embeddingNetwork embedding
Network embeddingSOYEON KIM
 
MPEMC AULA 5: Números Operações – Campo multiplicativo
MPEMC AULA 5: Números Operações – Campo multiplicativoMPEMC AULA 5: Números Operações – Campo multiplicativo
MPEMC AULA 5: Números Operações – Campo multiplicativoprofamiriamnavarro
 
Estatística Aplicada à Educação - Ementa
Estatística Aplicada à Educação - EmentaEstatística Aplicada à Educação - Ementa
Estatística Aplicada à Educação - EmentaAndréa Thees
 
Análise Espacial Baseada em Localização
Análise Espacial Baseada em LocalizaçãoAnálise Espacial Baseada em Localização
Análise Espacial Baseada em LocalizaçãoVitor Vieira Vasconcelos
 
Distribuição de frequencias
Distribuição de frequenciasDistribuição de frequencias
Distribuição de frequenciasPaulo Silva
 

Mais procurados (20)

Sistema de numeração decimal
Sistema de numeração decimalSistema de numeração decimal
Sistema de numeração decimal
 
K MEANS CLUSTERING
K MEANS CLUSTERINGK MEANS CLUSTERING
K MEANS CLUSTERING
 
01 - Conjuntos
01 - Conjuntos01 - Conjuntos
01 - Conjuntos
 
Conjuntos numericos - Caracateristicas e propriedades.
Conjuntos numericos - Caracateristicas e propriedades.Conjuntos numericos - Caracateristicas e propriedades.
Conjuntos numericos - Caracateristicas e propriedades.
 
Análise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoAnálise de Agrupamentos e Regionalização
Análise de Agrupamentos e Regionalização
 
Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)
 
Passos para o geogebra
Passos para o geogebraPassos para o geogebra
Passos para o geogebra
 
Introdução à Estatística Inferencial - Parte 1
Introdução à Estatística Inferencial - Parte 1Introdução à Estatística Inferencial - Parte 1
Introdução à Estatística Inferencial - Parte 1
 
Conjuntos MATEMÁTICA
Conjuntos MATEMÁTICAConjuntos MATEMÁTICA
Conjuntos MATEMÁTICA
 
Clustering - K-Means, DBSCAN
Clustering - K-Means, DBSCANClustering - K-Means, DBSCAN
Clustering - K-Means, DBSCAN
 
Analise de clusters
Analise de clustersAnalise de clusters
Analise de clusters
 
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]
Trabalho%20de%20matemática,%20 ana%20sofia%20chin,%20nº2%2010ºb[1]
 
Network embedding
Network embeddingNetwork embedding
Network embedding
 
Teoria dos Conjuntos
Teoria dos ConjuntosTeoria dos Conjuntos
Teoria dos Conjuntos
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
MPEMC AULA 5: Números Operações – Campo multiplicativo
MPEMC AULA 5: Números Operações – Campo multiplicativoMPEMC AULA 5: Números Operações – Campo multiplicativo
MPEMC AULA 5: Números Operações – Campo multiplicativo
 
Estatística Aplicada à Educação - Ementa
Estatística Aplicada à Educação - EmentaEstatística Aplicada à Educação - Ementa
Estatística Aplicada à Educação - Ementa
 
Análise Espacial Baseada em Localização
Análise Espacial Baseada em LocalizaçãoAnálise Espacial Baseada em Localização
Análise Espacial Baseada em Localização
 
Análise de dependência espacial em R
Análise de dependência espacial em RAnálise de dependência espacial em R
Análise de dependência espacial em R
 
Distribuição de frequencias
Distribuição de frequenciasDistribuição de frequencias
Distribuição de frequencias
 

Destaque (6)

Clustering (Agrupamento)
Clustering (Agrupamento)Clustering (Agrupamento)
Clustering (Agrupamento)
 
Backtracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntosBacktracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntos
 
K-Nearest Neighbor
K-Nearest NeighborK-Nearest Neighbor
K-Nearest Neighbor
 
KNN
KNN KNN
KNN
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithm
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 

Semelhante a Agrupamento com K-Means

Agrupamento de sequências biológicas
Agrupamento de sequências biológicasAgrupamento de sequências biológicas
Agrupamento de sequências biológicasMarcos Castro
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimariaudesc
 
Análise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaAnálise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaVitor Vieira Vasconcelos
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAhirton Lopes
 
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
 
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
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de InstânciasAugusto Giles
 
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenClusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenAndré Carvalho
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
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
 
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
 

Semelhante a Agrupamento com K-Means (20)

Agrupamento de sequências biológicas
Agrupamento de sequências biológicasAgrupamento de sequências biológicas
Agrupamento de sequências biológicas
 
Gilcimar apresentação
Gilcimar apresentaçãoGilcimar apresentação
Gilcimar apresentação
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Mineração de dados
Mineração de dadosMineração de dados
Mineração de dados
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimar
 
Análise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaAnálise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no Geoda
 
Estatística - Aula 2
Estatística - Aula 2Estatística - Aula 2
Estatística - Aula 2
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neurais
 
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
 
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
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias
 
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenClusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
 
Cluster analysis TDC POA 2017
Cluster analysis  TDC POA 2017Cluster analysis  TDC POA 2017
Cluster analysis TDC POA 2017
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
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
 
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
 
Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Big data
Big dataBig data
Big data
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosAlexandre Duarte
 

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de Dados
 

Agrupamento com K-Means

  • 1. AGRUPAMENTO COM K-MEANS Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
  • 2. AGENDA • O que é agrupamento • Iterações do K-Means • Critérios e Propriedades do K-Means • O que é um bom agrupamento • Quantos grupos
  • 3. O QUE É AGRUPAMENTO • Um agrupamento (cluster) é um subconjunto coeso de entidades: entre entidades de um cluster as similaridades são maiores do que entre entidades de fora do cluster • Agrupamento é um conjunto de métodos para encontrar clusters e estruturas de agrupamento nos dados.
  • 4. DIFERENTES PERSPECTIVAS • Aprendizagem de máquina: análise não-supervisionada de padrões • Descoberta de conhecimento: construção de classificadores • Análise de dados: Identificar estruturas de agrupamento nos dados
  • 5. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento individual • Detectando comunidades em uma rede • Determinando um subconjunto de proteínas similares a uma determinada proteína • Identificando um subconjunto de documentos sobre um mesmo tema
  • 6. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Particionamento • Divisão da população de acordo com diferentes estilos de vida • Agrupamento de territórios em regiões econômicas • Particionamento de imagens em segmentos homogêneos
  • 7. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento hierárquico • Taxonomia de organismos • Classificação de sub-áreas da computação • Ontologia de conceitos em um domínio
  • 8. ITERAÇÕES DO K-MEANS • K-Means: Um método para construir K agrupamentos sem interseções • Cada agrupamento é representado por um centro ck e um conjunto Sk(k=1, …, K) Iris setosa: Centro S Length S Width P Length P Width Centro 5.006 3.428 1.462 0.246 Média geral 5.843 5.057 3.758 1.199 Diferença -0.837 0.371 -2.296 -0.953
  • 9. ITERAÇÕES DO K-MEANS 1. Especifique K, o número de agrupamentos, e os centros iniciais ck (k=1, …, K) 2. Atualize os conjuntos Sk (k=1, …, K) 3. Atualize os centros ck (k=1,…, K) 4. Se os novos centros coincidem com os anteriores, pare, senão, vá para 2.
  • 10. ITERAÇÕES DO K-MEANS a) b) c) d)
  • 11. APLICANDO K-MEANS A BASE DE IRIS • Pré-processamento • A: Sem pré-processamento: todas as medidas estão relacionadas ao mesmo tipo de flor e na mesma unidade • B: (Z-Scoring) Cada variável é centralizada em relação a média e normalizada pelo desvio padrão • C: Cada variável é centralizada em relação a média e normalizada pelo range
  • 12. APLICANDO K-MEANS A BASE DE IRIS • Especifique K = 3 e os exemplares 1, 51 e 101 como os centros iniciais (conhecimento preliminar) • A (sem pré-processamento): Convergiu em 4 iterações • B (Z-scoring): Convergiu em 7 iterações • C (Normalização pelo range): Convergiu em 5 iterações
  • 13. APLICANDO K-MEANS A BASE DE IRIS • http://blog.whn.se/post/28851413626/k-means-clustering- in-r
  • 14. VANTAGENS • Computação é intuitiva • Processamento é rápido e não requer memória adicional • Processamento é fácil de paralelizar (big data)
  • 15. DISCUSSÃO • O K-means sempre converge? • Os resultados são independentes da inicialização? • Se não, como devemos inicializar? • Como escolher o número de clusters K ?
  • 16. O K-MEANS SEMPRE CONVERGE? • Minimizar W(S,c) alternando • Mins W(S,c): atualização dos clusters • Minc W(S,c): atualização dos centros • Portanto, W(S,c) diminui a cada passo: convergência Σ KΣ W(s,c) = d(i,ck ) i∈Sk k=1
  • 17. OS RESULTADOS SÃO INDEPENDENTES DA INICIALIZAÇÃO? • Qual seria o agrupamento ótimo para K = 2 ? • Convergimos para esse agrupamento com qualquer dois pontos escolhidos como centros iniciais ?
  • 18. COMO ESCOLHER OS CENTROS INICIAIS ? • Escolher os pontos que maximizem D(S,c) • onde: • Nk é o número de entidades em Sk • <ck,ck> é distância entre a origem e ck ao quadrado KΣ D(S,c) = Nk < ck ,ck > k=1
  • 19. COMO ESCOLHER OS CENTROS INICIAIS ? • Requer que os pontos sejam pré-processados pela média (origem seria a média de todas as coordenadas)
  • 20. O QUE É UM BOM AGRUPAMENTO? • Critério interno • Exemplo de critério interno: média do quadrado das distâncias no K-means • Porém, um critério interno muitas vezes não avalia a utilidade do agrupamento para uma aplicação. • Alternativa: Critério externo • Avaliar de acordo com um critério definido por humanos
  • 21. O QUE É UM BOM AGRUPAMENTO? • Baseado em algum padrão amplamente adotado • Objetivo: O agrupamento deve reproduzir a classes definidas no padrão • Exemplo de medida de quão bem conseguimos reproduzir classes pré-definidas: pureza
  • 22. CRITÉRIO EXTERNO: PUREZA • Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e • C = {c1, c2, . . . , cJ} é o conjunto de classes • Para cada grupo ωk : encontrar a cj com mais membros nkj em ωk • Somar todos os nkj e dividir pelo número total de pontos
  • 23. EXEMPLO DO CALCULO PUREZA Para calcular a pureza: 5 = maxj |ω1 ∩ cj | (classe x, grupo 1); 4 = maxj |ω2 ∩ cj | (classe o, grupo 2); e 3 = maxj |ω3 ∩ cj | (classe ⋄, grupo 3). Pureza é (1/17) × (5 + 4 + 3) ≈ 0.71.
  • 24. PUREZA DO AGRUPAMENTO DAS IRIS 1 2 3 setosa 50 0 0 versicolor 0 2 48 virginica 0 36 14 Pureza = (1/150) * (50 + 36 + 48) = 0.89
  • 25. QUANTOS GRUPOS? • O número de grupos K é dado em muitas aplicações. • Mas e quando isso não acontece? Há um número bom ou ruim para a quantidade de grupos? • Uma forma de agir: definir um critério de otimização • Dado o conjunto de dados, encontrar o K para o qual o valor ótimo é obtido • Que critérios de otimização podemos usar? • Não podemos utilizar a média dos quadrados das distâncias do centróide como critério: o valor ótimo sempre seria fazer K = N.
  • 26. QUANTOS GRUPOS • Ideia básica: • Começar com 1 grupo (K = 1) • Continue adicionando grupos (= continue a aumentar K) • Adicione uma penalidade para cada novo grupo • Balancear a penalidade da adição de novos grupos e o quadrado das distâncias até os centroides • Escolher o valor K com o melhor tradeoff
  • 27. ENCONTRANDO O K PARA A BASE DE IRIS http://www.statmethods.net/advstats/cluster.html