UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Alessandro Pereira Rezende, Renato Teixeira Nascimento
Trabalho de Agrupamento de Dados
Uberlândia, Uberlândia, Brasil Brasil 2014
Lista de tabelas Tabela 1 – Inf Informa ormações ções sobre sobre as bases bases utiliz utilizadas adas . . . . . . . . . . . . . . . . . . . 7 Tabela 2 – Informa Informações ções sobre sobre configuraç configurações ões dos algoritm algoritmos os . . . . . . . . . . . . . 8 Tabela 3 – Informa Informações ções sobre valores antes e depois do pré-processamen pré-processamentos tos na base balance-scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Tabela 4 – Informa Informações ções sobre pré-processam pré-processamentos entos realiz realizados ados nas bases bases . . . . . . . 9 Tabela 5 – Res Resulta ultado do da Av Avali aliação ação do K-Mean K-Meanss . . . . . . . . . . . . . . . . . . . 9 Tabela 6 – Res Resulta ultado do da Av Avali aliação ação do X-Mean X-Meanss . . . . . . . . . . . . . . . . . . . 9 Tabela 7 – Res Resulta ultado do da Av Avali aliação ação do DBSCA DBSCAN N . . . . . . . . . . . . . . . . . . . 9 Tabela 8 – Alg Algorit oritmo mo com mel melhor hor desem desempenho penho . . . . . . . . . . . . . . . . . . . . 10
Sumário 1 1. 1
MATERIAIS E MÉTODOS . . . . . . . . . . . . . . . . . . . . . . . Algoritmos de Agrupamento . . . . . . . . . . . . . . . . . . . . . . .
3 3
1.1.1 1.1.2 1.1.3 1.1 .3
K-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBSCAN DBS CAN (De (Densi nsity ty-Ba -Based sed Spa Spatia tiall Clu Cluste sterin ringg of App Applic licati ations ons wit with h Noi Noise) se) Medi Me dida dass de Aval alia iaçção de Agr grup upam ameent ntoo . . . . . . . . . . . . . . . Sillhu Si huet etaa si simp mpli lific ficaada . . . . . . . . . . . . . . . . . . . . . . . . . . . Rand Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bases de Dados utilizadas . . . . . . . . . . . . . . . . . . . . . . . Resultados e discussão . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 4
1.22 1. 1.2 .2.1 .1 1.2.2
1. 3 1. 4
. . . . . . . .
. . . . . . . .
6 6 6
7 8
Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ANEXO ANEX O A – RESULT RESULTADO DO AG AGRUP RUPAMEN AMENTO TO EM ARQU ARQUIV IVO O NO FORMATA .CSV . . . . . . . . . . . . . . . . . . 12 ANEXO ANEX O B – CÁLCULO CÁLCULO DA SILHUET SILHUETA A . . . . . . . . . . . . . . . 13
3
1 Mate Materi riai aiss e mét método odoss 1.1 Algo Algoritmos ritmos de Agrupa Agrupamen mento to Os três algoritmos utilizados para o agrupamento das bases de dados selecionadas são definidos a seguir.
1.1. 1.1.11 K-Me K-Mean anss Neste algoritmo, deve-se inicialmente estabelecer um número k de grupos que se deseja obter para que ele busque a melhor forma de separar os objetos nestes k grupos. A atribuição dos objetos aos k grupos é um problema NP-hard, portanto é geralmente resolvido com heurísticas eficientes que acabam encontrando resultados localmente ótimos. O algoritmo utiliza o conceito de centroides como objetos abstratos, que não fazem parte do conjunto de dados em questão, mas fazem parte do seu domínio, para representar os centros dos k grupos. Os centroides são calculados pela média de todos os objetos de um grupo. Os passos a seguir descrevem o algoritmo k-médias mais utilizado e descrito por (MACKAY MACKAY,, 2003 2003): ): 1. Selecionar k centroides aleatórios; 2. Compara Compararr cada objeto com os k centroi centroides des e atribuí atribuí-lo -lo ao grupo do centroi centroide de mais similar a ele; 3. Calcular um novo centroide para cada um dos k grupos; 4. Repetir os passos 2 e 3 até que os resultados convirjam. A maior desvantagem deste algoritmo é a necessidade de se selecionar um número k de grupos previamente, o que exige que se saiba de antemão quantos grupos os objetos do contexto devem devem formar, ou processar os objetos algumas vezes vezes variando variando o valor de k até que se encontre o valor ideal. ideal. Assim, Assim, compreende-se que o valor valor ideal de k é extremamente extremamente dependente da coleção de objetos que se deseja processar, porém, não é necessário definir um GSM (Grau de Similaridade Mínima) de antemão (RIBACKI (RIBACKI,, 2013 2013). ).
1.1. 1.1.22 X-Me X-Mean anss O X-Means tem como entrada um intervalo de possíveis valores de k (maior e menor menor val valor or possív possível para k . As saída saídass são são os centro centross de cada grupo e o valor alor do k. A ideia ideia princi principal pal do algori algoritmo tmo é definida definida da seguin seguinte te forma: i)inic i)iniciar iar o algoritm algoritmoo com
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
4
k sendo o menor valor do intervalo e ii) acrescentar novos grupos até o maior valor do interv intervalo. alo. Durante Durante o processo, pro cesso, o conjunto de grupos com o melhor resultado resultado é armazenado (PELLEG; MOORE, MOORE, 2000 2000). ). O algoritmo do X-Means é definido da seguinte forma: Entrada: minK, maxK Saída: melhorK 1. Para K = minK até maxK faça 2. MelhorarParametros(); MelhorarParametros(); 3. MelhorarEstrutura(); MelhorarEstrutura(); 4. RegistraMelhorResultado(); RegistraMelhorResultado(); 5. Fim Para 6. melhorK = RetornarNroGrupos() = RetornarNroGrupos();; O procedimento MelhorarParametros() executa o K-means, a fim de obter um agrupamento. agrupamento. O procedimento que descobre onde os novos grupos devem aparecer aparecer é o MelhorarEstrutura(). lhorarEstrutura() . Nessa etapa também ocorre a divisão de grupos em dois novos grupos, usando usando duas diferen diferentes tes estratégias estratégias propostas propostas no trabalh trabalho. o. O método método RegistrarMelhorResultado() armaz Resultado() armazena ena o melhor melhor valor valor de k encont encontrado rado.. O método método RetornarNroGrupos() retorna o número de grupos finais encontrados pelo algoritmo (SILVA; (SILVA; ABREU, ABREU, 2011 2011). ).
1.1.3 DBSCAN (Density (Density-Based -Based Spatial Spatial Clusteri Clustering ng of Applica Applications tions with Noise) Este algoritmo utiliza o conceito de vizinhança-épsilon para determinar os agrupamentos. Estão na vizinhança-épsilon de um objeto todos aqueles objetos que estão a uma distância distância de até épsilon dele, e se diz que estes objetos são alcançáveis alcançáveis dentro dentro da densidade densidade épsilon. Considera-se que um objeto é “de núcleo” (core object) se ele possui um número mínimo mínimo de objetos objetos em sua vizinhan vizinhança-é ça-épsi psilon lon.. O objeto objeto de núcleo núcleo e os seus vizinhos vizinhos então formam um novo novo agrupame agrupamento nto.. Os objetos que fazem fazem parte parte de um agrupame agrupament ntoo e não possuem o número mínimo de vizinhos são chamados “objetos de fronteira” (border objects). Objetos sem o número mínimo de vizinhos que não sejam vizinhos de um objeto de núcleo são chamados de ruído (noise) e não entram em nenhum agrupamento. O valor de épsilon e o número mínimo de vizinhos necessários são parâmetros do agrupamento (RIBACKI RIBACKI,, 2013 2013). ). O algoritmo pode ser definido pelos passos a seguir (ESTER (ESTER,, 1996 1996): ): 1. Seleci Selecionar onar um objeto objeto não visitado visitado e encont encontrar rar todos os objetos objetos vizinhos vizinhos dele dentro da densidade épsilon; 2. Se o número de vizinhos é maior ou igual ao número mínimo, marca-se o objeto
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
5
como de núcleo e atribui-se ele e todos os seus vizinhos a um novo grupo, removendo a marca de “ruído” de eventuais vizinhos; 3. Se o núme número ro de vizi vizinho nhoss é infe inferi rior or ao número úmero mínimo mínimo e ele ele não não faz parte parte de nenhum grupo, marca-se o objeto como ruído; 4. Caso dois grupos possuam algum objeto em comum, unificam-se os dois grupos; 5. Enquanto Enquanto houver objetos que não tenham sido visitados ainda, volta-se volta-se ao passo 1; caso contrário, termina-se o algoritmo. Uma vantagem do DBSCAN é que não se precisa definir previamente o número de clusters a serem gerados, porém é necessário determinar o valor de épsilon e o número mínimo mínimo de vizinh vizinhos. os. Isso Isso pode ser problemát problemático ico nos casos em que não exista uma combinação desses valores que satisfaça todos os grupos de um conjunto de dados a ser classificado. Por outro lado, um grande diferencial do algoritmo é a capacidade de encontrar grupos com formas arbitrárias, podendo inclusive encontrar grupos completamente cercados por outros grupos (RIBACKI (RIBACKI,, 2013 2013). ).
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
6
1.2 Medida Medidass de Avaliaç valiação ão de de Agrup Agrupame amento nto 1.2.1 1.2.1 Silhue Silhueta ta simpli simplifica ficada da A avaliação de grupos pelo critério da silhueta simplificada é dada por um cálculo que utiliza da dissimilaridade média dos objetos ao centro do seu grupo e grupos vizinhos. A silhueta simplificada é um critério relativo para validação de agrupamento que indica qual a melhor dentre duas ou mais partições. A fórmula da silhueta simplificada é apresentada nas Equações 1 e 2, sendo que, a p,i é a dissimilaridade média do i-ésimo objeto ao seu seu gru grupo po e b p,i é a dissimilaridade média do i-ésimo objeto ao seu grupo vizinho mais próximo (SILVA; (SILVA; ABREU, ABREU, 2011 2011). ). (1) Sx i =
b p,i − a p,i max(a p,i , b p,i )
(2) Silhueta =
N 1 ∑
N i=1
Sx i
1.2. 1.2.22 Rand Rand Inde Indexx O Rand Index é um critério externo para validação de agrupamento que mensura a simi simila lari ridad dadee entre entre duas partiçõe partiçõess de dados. dados. O cálcul cálculoo é feit feitoo pela pela compar comparaçã açãoo de duas matrizes, que são respectivamente, a matriz de similaridade do agrupamento que é formada por 1 na célula ij, se dois objetos i e j estão no mesmo grupo ou 0 caso contrário e a matriz de similaridade das classes que é formada por 1 na célula ij, se dois objetos i e j estão na mesma classe ou 0 caso contrário. A fórmula do Rand Index é apresentada na Equação 3, sendo que, f 00 00 é o número de pares que pertencem a classes e grupos distintos; f 01 01 é o número de pares que pertencem a classes distintas e ao mesmo grupo; f 10 é o número de pares que pertencem à mesma classe e a grupos distintos e f 11 é o número de pares que pertencem à mesma classe e ao mesmo grupo (FARIA (FARIA,, 2014 2014). ). (3)
f 00 00 + f 11 11 f 00 00 + f 01 01 + f 10 10 + f 11 11
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
7
1.3 1.3 Base Basess de de Dad Dados os utili utiliza zada dass Neste trabalho foram utilizadas quatro bases de dados, disponíveis no site do UCI (UCI UCI,, 2010 2010)) Bases
Instâncias
Atributos
Tipos
Iris
150
4
real
Breast-w
6 99
9
30 3 06
3
6 25
4
haberman balance-scale
Descrição
Base sobre tipos de planta íris Base sobre composição célular inteiro para definir se é ou não câncer de mama Base sobre a sobrevida de pacientes inteiro submetidos à cirurgia para câncer de mama Base sobre os resultados experimentais inteiro para definir modelos psicológicos
Tabela 1 – Informações sobre as bases utilizadas
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
8
1.4 1.4 Resu Resulta ltado doss e disc discus ussã sãoo Os testes com os algoritmos K-Means, X-Means e DBSCAN foram realizados através da ferramenta RapidMiner (RAPIDMINER (RAPIDMINER,, 2014 2014)) que é um programa Open source para Data Mining. O RapidMiner disponibiliza por padrão a implementação dos 3 algoritmos utilizados. utilizados. Primeiramente foram executados os algoritmos para geração dos agrupamentos das bases de dados informadas na sessão (1.3 Bases de Dados utilizadas), seguindo as configurações descritas na tabela a seguir: Algo Algori ritm tmos os
K-Means X-Means DBSCAN
Parâm arâmet etro ross
K=2 K-Mínimo K-Mínimo = 2 K-Máximo = 60 Epsilon Epsilon = 1 Min-Points = 5
Tabela 2 – Informações sobre configurações dos algoritmos Após geração dos agrupamentos, os resultados foram salvos em arquivos (.csv). Esse processo pode ser visualizado no (ANEXO A – Resultado do agrupamento em arquivo no formata .csv). Os arquivos arquivos gerados foram utilizados na implementação implementação do cálculo do Rand Index feita pelos autores em Java. Para o cálculo da Silhueta foi utilizado o Plug-in (CP plugin 0.1) para RapidMiner desenvolvido por (ROUSSEEUW (ROUSSEEUW,, 1987 1987)) por meio da linguagem linguagem Java. Java. O processo realizado no RapidMiner pode ser visualizado visualizado no (ANEXO (ANEXO B – Cálculo da Silhueta). Inicialmente calculamos a Silhueta e Rand-Index sem fazer a normalização dos dados e constatamos que os valores dos dois critérios de avaliação ficaram abaixo dos valores alores encontrad encontrados os após normaliza normalização. ção. A seguir seguir exempl exemploo dos valores valores antes antes e depois depois do pré-processamentos na base balance-scale e informações de quais pré-processamentos foram realizados nas bases. DBSCAN
Base Base Grupo ruposs SN Grup Grupos os CN Silh Silhue ueta ta Médi Médiaa SN Silh Silhue ueta ta Médi Médiaa CN balance-scale 2 3 0.152 0.396 Base Grup os SN Grup os CN Rand Index SN Rand Index CN balance-scale 2 3 0.4299 1 Tabela abela 3 – Info Informa rmações ções sobre sobre valore aloress antes antes e depoi depoiss do pré-p pré-proce rocess ssame ament ntos os na base base balance-scale
Capítulo Capítulo 1. Materiais Materiais e méto métodos dos
9
Pré-Processamento
Iris
Normalização Normalização pelo método de re-escalar re-escalar (0,1) Substituição Substituição de atributos atributos nulos nulos pela média e normalização normalização breast-w pelo método de re-escalar (0,1) haberman Normalizaçãopelo Normalizaçãopelo método de re-escalar re-escalar (0,1) balance-scale Normalização Normalização pelo método de re-escalar re-escalar (0,1) Tabela 4 – Informações sobre pré-processamentos realizados nas bases Para avaliar o desempenho dos algoritmos, usou-se como medidas de avaliação o método da Silhueta simplificada e o Rand Index. A seguir os resultados das avaliações. K-Means
Bases Valor alor K Iris 2 breast-w 2 haberman 2 balance-scale 2
Sil Silhueta Médi édia 0.629 0.594 0.393 0.182
Ran Rand Index dex 0.776 0.920 0.632 0.531
Tabela 5 – Resultado da Avaliação do K-Means
X-Means
Bases Valor alor K Iris 4 breast-w 4 haberman 4 balance-scale 2
Sil Silhueta Médi édia 0.398 0.251 0.453 0.182
Ran Rand Index dex 0.818 0.699 0.509 0.536
Tabela 6 – Resultado da Avaliação do X-Means
DBSCAN
Bases Valor alor K Iris 3 breast-w 2 haberman 12 balance-scale 3
Sil Silhueta Médi édia 0.754 0.405 0.725 0.396
Ran Rand Index dex 1.0 0.549 1.0 1.0
Tabela 7 – Resultado da Avaliação do DBSCAN
10
Conclusão Observando os dados informados nas tabelas de resultados das avaliações dos algoritmos de agrupamento da sessão (1.4 Resultados e discussão), nota-se que houve discrepância crepância entre os algoritmos algoritmos no valor de k na base breast-w. Utilizando-s Utilizando-see o algoritmo algoritmo X-Means o valor de k foi 4, enquanto que no DBSCAN o valor de k é igual a 2. Como o valor da Silhueta e Rand-Index do K-means na base breast é maior, logo, pode-se afirmar que o K-means obteve o melhor desempenho e temos que k = 2 é o agrupamento ótimo para essa base. Nas avaliações das outras bases o melhor algoritmo foi o DBSCAN, pois os resultados das avaliações para a Silhueta e o Rand-Index desse algoritmo foram maiores. A diferença de resultados na base Irís foi pequena, mas ainda assim o DBSCAN obteve melhor melhor desempenho desempenho.. Na base balance-s balance-scal calee o DBSCAN DBSCAN encontrou encontrou um grupo a mais mais e também mostrou o melhor resultado das avaliações. A maior discrepância foi encontrada na base haberman pois o K-means possui 2 grupos, o X-means encontrou 4 grupos e para o DBSCAN foram gerados 12 grupos com Silhueta média de 0.396 e 1.0 de resultado para o Rand-Index. Como o DBSCAN obteve o melhor desempenho para essa base, isso demostra que ao aumentar o número de grupos foi melhorando a Silhueta média dos agrupamentos gerados para essa base, sendo que o mesmo não ocorre com o Rand-Index que houve uma variação não linear. Algoritmo com melhor desempenho por base
Bases Iris breast-w haberman balance-scale
Algoritmo DBSCAN K-Means DBSCAN DBSCAN
Tabela 8 – Algoritmo com melhor desempenho A análise dos algoritmos K-Means, X-Means e DBSCAN demostrou que em bases com poucos atributos, o DBSCAN obteve melhor desempenho, enquanto que para bases com vários atributos e várias instâncias, como exemplo a base Breast-w, os três algoritmos demostra demostraram ram desempenh desempenhoo semelha semelhant ntes, es, porém o K-means K-means obteve obteve o melhor melhor resulta resultado. do. Considerando que o número de bases testadas foi reduzido, os resultados obtidos são prévios, necessitando de testes mais profundos para avaliações mais assertivas.
11
Referências ESTER, M. A M. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. 1996. Proceedings of 2nd International Conference on Knowle Knowledge dge Disco Discove very ry and Data Mining Mining (KDD-9 (KDD-96). 6). Disponív Disponível el em: .. Aces //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.71.1980> Acesso so em: em: 15 agosto agosto 2014. 2014. Citado Citado na págin páginaa 4. FARIA, E. R. d. Aula Aula 10 – Tópicos ópicos Espe Especiais em Computaç Computação: ão: Agrup Agrupament amentoo de Dados Validação de Agrupamento. Agrupamento. 2014. Site. Disponível em: .. Acesso em: 25 agosto ~elaine/disc/Agrupamento/Aula10-ValidacaoAgrupamento.pdf> 2014. 2014. Citado Citado na página página 6. MACKAY, D. Chapter Chapter 20: An Example Inferenc Inferencee Task: Clusterin Clustering. g. 2003. 2003. Cambridge University Press. p. 284 292. Disponível em: .. Acesso mackay/itprnn/ps/284.292.pdf> Acesso em: em: 15 agosto agosto 2014. 2014. Citado Citado na págin páginaa 3. PELLEG, PELLEG, D.; MOORE, MOORE, A. W. X-means: X-means: Extendi Extending ng k-means k-means with efficient efficient estimation of the number of clusters. In: Proceedings of the Seventeenth International Conference on Machine Learning . San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2000. (ICML ’00), p. 727–734. ISBN 1-55860-707-2. Disponível em: .. Citad Citadoo na págin páginaa 4. RAPIDMINER. Predictive RAPIDMINER. Predictive Analytics, Data Mining, Self-service, Open source . 2014. Site. Disponível em: . . Aces Acesso so em: em: 25 agos agosto to 2014. 2014. Citad Citadoo na página 8. RIBACKI, G. H. Um framework para agrupamento de dados . 2013. Site. Disponível em: .. Acesso Acesso em: em: 15 agosto agosto 2014. 2014. Citado Citado 3 vezes vezes nas nas páginas 3, 4 e 5. ROUSS ROUSSEEU EEUW, W, P. J. Silhoue Silhouettes ttes:: A graphic graphical al aid to the interpret interpretati ation on and validation of cluster analysis. Journal analysis. Journal of Computational and Applied Mathematics , v. 20, p. 53–65, 53–65, nov. nov. 1987. 1987. ISSN ISSN 03770427 03770427.. Disponív Disponível el em: . Citado na página página 8. SILV SILVA, T. T.; ABREU, ABREU, A. F. d. Avaliaç Avaliação ão de Algorit Algoritmos mos par para Estimaç Estimação ão do Número de Grupos em Problemas de Mineração de Dados . 2011. Site. Disponível em: .. Acess Acessoo em: 15 agosto agosto 2014. 2014. Citado Citado 2 vezes vezes nas páginas páginas 4 e 6. UCI. Datasets UCI. Datasets . 2010. Site. Disponível Disponível em: em: . . Acess Acessoo em: 25 agosto agosto 2014. 2014. Citado Citado na página página 7 7..
12
ANEX ANEXO O A – Resu Result ltad adoo do agru agrupa pam mento ento em arquivo no formata .csv
Figura 1 – Rapid Miner - Resultado do agrupamento no formata .csv
13
ANEX ANEXO O B – Cál Cálcul culo da Si Silh lhuueta eta
Figura 2 – Rapid Miner - Cálculo da Silhueta.