Você está na página 1de 24

TécnicasTítulo

Inserir para Aqui


Inserir Título
Converter Dados
Aqui
em Conhecimento
Análise de Agrupamento

Responsável pelo Conteúdo:


Prof. Dr. Luciano Rossi

Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Análise de Agrupamento

Nesta unidade, trabalharemos os seguintes tópicos:

Fonte: Getty Images


• Agrupamento Versus Classificação;
• Agrupamento Hierárquico;
• Agrupamento por Partição;
• Agrupamento por Densidade.

Objetivos
• Prover ao estudante um conjunto de Técnicas importantes para a realização de Análises
de Agrupamento.

Caro Aluno(a)!

Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o úl-
timo momento o acesso ao estudo, o que implicará o não aprofundamento no material
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.

Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns
dias e determinar como o seu “momento do estudo”.

No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões


de materiais complementares, elementos didáticos que ampliarão sua interpretação e
auxiliarão o pleno entendimento dos temas abordados.

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de
troca de ideias e aprendizagem.

Bons Estudos!
UNIDADE
Análise de Agrupamento

Contextualização
Na Unidade anterior, destacamos a importância da tarefa de classificação no contexto
dos serviços de streaming, mais especificamente, utilizamos a Netflix como exemplo.

Veja que, neste exemplo, os títulos podem ser classificados de acordo com seu res-
pectivo gênero, por exemplo: aventura, drama e romance, dentre outros ou, ainda, os
títulos podem simplesmente receber um rótulo positivo, indicando que o espectador
gostou, ou negativo, indicando o contrário.

Outra possibilidade é o agrupamento dos títulos disponíveis por similaridade.

Assim, podemos ter vários grupos de títulos similares e, caso o expectador goste de
um determinado título, o Sistema poderá recomendar outro título do mesmo grupo e,
assim, a probabilidade de o expectador gostar também do segundo título é maior.

Note que a tarefa de Análise de Agrupamento utiliza os atributos descritivos dos obje-
tos para organizá-los por similaridade e não há qualquer informação, inicialmente, sobre
as categorias que os grupos representam.

6
Agrupamento Versus Classificação
Vimos, na unidade de título “Introdução e Pré-Processamento de Dados”, que os objetos
em um Conjunto de Dados podem ou não possuir rótulos.

Os dados rotulados são utilizados como entrada para a tarefa de classificação.


Nesse caso, o objetivo desse tipo de tarefa é obter um modelo ou função que capture a
associação entre os atributos preditivos e o atributo de classe, que é o rótulo do objeto.

Quando o Conjunto de Dados não é rotulado, os algoritmos de classificação não são


aplicáveis, pois não há uma classe associada aos objetos e, assim, não se pode capturar
a associação entre os atributos preditivos e o respectivo atributo de classe.

Nesses casos, utiliza-se a tarefa de agrupamento, que consiste em particionar um


Conjunto de Dados em grupos de objetos similares entre si.

Note que os grupos resultantes podem estar associados a rótulos, entretanto, ne-
nhum rótulo é utilizado para o treinamento do algoritmo considerado.

A Análise de Agrupamento, ou clustering, é um processo que possibilita a descoberta


de relações entre os objetos de um conjunto de dados, por meio de suas características.

Na unidade de título “Análise Preditiva”, vimos que o algoritmo k-NN utiliza medidas
de distância entre os objetos para a inferência de um rótulo a um objeto não rotulado.

Similarmente, a Análise de Agrupamento também utiliza esse tipo de medida para


agrupar os objetos que estejam mais próximos.

Releia, na unidade de título “Análise Preditiva”, a Seção sobre o algoritmo k-NN com espe-
cial atenção para a descrição das medidas de distância.

Comumente, cada objeto do Conjunto de Dados é representado por seus atributos


descritivos, que são representados por um vetor de características.

Com base nos valores do vetor de característica e pelo uso de alguma medida de distân-
cia, os dados são agrupados de modo que cada grupo compartilhe características comuns.

O Agrupamento de Dados é utilizado quando não temos um rótulo que possibilite a


classificação do Conjunto de Dados.

Suponha um Conjunto de Dados que descreva uma série de atributos (características)


de animais, sem que haja a identificação de qual animal está sendo referenciado.

Nesse caso, dizemos que os registros não são rotulados e a tarefa de agrupamento
será importante para identificar e agrupar animais que são parecidos, ou que tenham
características similares entre si.

Na Figura 1, veja um exemplo de dados agrupados de acordo com os valores de ape-


nas dois atributos que são representados pelas duas dimensões no diagrama.

7
7
UNIDADE
Análise de Agrupamento

O Agrupamento de Dados pode ser mais complexo quando consideramos dados com
mais dimensões:

Valores do segundo atributo

Valores do primeiro atributo


Figura 1 – Exemplo de objetos agrupados em função de seus atributos descritivos

A avaliação dos resultados obtidos a partir de algoritmos de agrupamento pode ser


feita considerando critérios de otimização.

Nesse caso, buscam-se encontrar grupos que minimizam ou maximizam um critério


específico. Há diferentes critérios que podem ser considerados, como a soma dos erros
quadrados e critérios de dispersão.

Dentre os critérios de dispersão, podem-se destacar as relações Within-Cluster e


Between-Cluster.

Essas relações medem a compactação (densidade) nos grupos e entre os grupos.


O ideal é identificar grupos compactos que sejam distantes uns dos outros. A avaliação,
por meio dos critérios de dispersão, é realizada a partir do cálculo das distâncias entre
os objetos no grupo e a distância entre os grupos que compõem o Conjunto de Dados.

O objetivo da Análise de Agrupamento é a obtenção de grupos que sejam compactos,


ou seja, os objetos próximos uns dos outros e os grupos distantes. Em outras pala-
vras, o ideal é um baixo within nos grupos e um alto between entre os grupos.

Na Figura 2a, veja um exemplo ilustrativo da condição ideal de agrupamento.

Os grupos, nesse caso, apresentam proximidade entre os objetos que os compõem e


há evidente distanciamento entre os grupos obtidos:

Figura 2 – Exemplo de critérios de dispersão


Fonte: Adaptada de FARIA, 2015

8
Os casos que não são ideais, quando da avaliação da dispersão no resultado de Processos
de Agrupamento, são aqueles que apresentam grupos muito próximos uns dos outros e nos
quais os objetos que compõem os grupos estão distanciados.

Nesses casos, observa-se um baixo between e um alto within. Um exemplo desse


tipo de caso é apresentado na Figura 2b. Veja que, internamente, os grupos descrevem
objetos dispersos uns dos outros e a distância entre os grupos é pequena.

Os diferentes critérios de otimização fornecem os meios para que se possa avaliar a


efetividade dos processos de agrupamento.

Nesse sentido, todos eles utilizam medidas objetivas para determinar a efetividade
dos algoritmos.

Podemos considerar uma padronização das diferentes medidas within, que serão de-
nominadas medidas intragrupos.

Assim, estamos considerando que a dispersão dos objetos no grupo é evidenciada


por meio do diâmetro do grupo da seguinte forma:

Intra ( gi ) max {d ( x, y ) : x, y ∈ gi }
=

Nesse contexto, a generalização das medidas intergrupos, como a medida between,


é definida por:

1
Inter ( gi , g=
j) ∑ d ( x, y ) : x ∈ g i , y ∈ g j
gi × g j

em que: gi e gJ são grupos, x e y são objetos da base, d (x, y) é a distância entre os objetos
e gi e g são as quantidades de objetos nos respectivos grupos.
j

Considerando os conceitos de medidas intragrupos e intergrupos, podemos definir a


Análise de Agrupamento como um processo decisório a respeito da pertinência de um
objeto a um grupo específico, de modo que a similaridade entre os objetos seja máxima.

Nesse contexto, descrevemos esse Processo como um aprendizado não supervisionado.

Diferentemente da classificação, a Análise de Agrupamento não utiliza o modelo de


grupos resultante em um processo de teste.

Na verdade, o agrupamento obtido é o objetivo desse processo e pode ser comple-


mentado por uma etapa adicional.

A partir do modelo de grupos, pode ser interessante uma análise mais profunda sobre
cada um dos grupos obtidos. Essa análise busca compreender os motivos pelos quais
os objetos são similares. O ideal, nessa etapa posterior, é contar com um especialista
no domínio, visto que o analista de dados pode não conhecer o contexto dos dados e,
assim, entender a motivação dos grupos pode não ser uma tarefa fácil.

9
9
UNIDADE
Análise de Agrupamento

Apesar de a Análise de Agrupamento ter por objetivo a obtenção do modelo de


grupos, é possível a utilização desse modelo para a predição de grupos novos objetos.

Nesse contexto, a dinâmica de aplicação é muito similar àquela descrita pela Análise
Preditiva, a diferença principal é que estamos buscando um grupo de adequação para
um objeto sem grupo.

Existem diferentes estratégias de agrupamento que podem ser consideradas nas análises.

Na Figura 3, veja a taxonomia de técnicas de agrupamento, baseada nas descrições


realizadas pelos professores Moscato e Von Zuben (Unicamp) em suas notas de aula
sobre análise de dados em Bioinformática.

Nas próximas seções, vamos analisar os Agrupamentos Hierárquicos, por Partição


e por Densidade.

Agrupamento

Hierárquico Particional

Métrica Teoria dos Agrupamento por


AGNES DIANA
Euclidiana Grafos Densidades

K–means DBSCAN

Figura 3 – Taxonomia das Técnicas em Análise de Agrupamento

Agrupamento Hierárquico
No Agrupamento Hierárquico, os objetos do Conjunto de Dados são divididos hierar-
quicamente em grupos.

Existem duas abordagens para o Agrupamento Hierárquico: a abordagem top-down,


ou divisiva, e a abordagem bottom-up, ou aglomerativa.

Nesse contexto, a abordagem divisiva pode ser implementada pelo Método DIANA
(Divisive Analysis), enquanto que na abordagem aglomerativa pode-se considerar o Mé-
todo AGNES (A Glomerative NESting).

A Abordagem Divisiva considera, inicialmente, todos os objetos do Conjunto de Da-


dos como um único grupo e, em iterações sucessivas, esse grande Grupo vai sendo
dividido em grupos menores, até que cada objeto represente um grupo.

Por outro lado, a abordagem aglomerativa considera cada objeto individualmente


como um grupo e, também, em um processo iterativo, os grupos com objetos individu-
ais vão sendo unidos até que reste somente um único grande grupo.

10
Na Figura 4, veja um esquema gráfico ilustrativo das Abordagens Divisiva e Aglomerativa.

Este esquema é representado por um grafo em forma de árvore. Cada círculo na


árvore é um vértice.

Os vértices à esquerda na figura são os vértices folha, o vértice à direita é a raiz e


existem vértices internos entre as folhas e a raiz.

Figura 4 – Abordagens divisiva e aglomerativa


Fonte: Adaptada de DA SILVA et al., 2017

O Método AGNES, que considera a Abordagem Aglomerativa, inicia a construção da


árvore a partir das folhas.

Um vértice folha na árvore é aquele que apresenta um único objeto no grupo. A união
dos grupos unitários é feita a partir de critérios de similaridade dos objetos que compõem
cada grupo.

Como resultado desse método, a árvore contará com grupos unitários, à esquerda na
Figura 3, a partir dos quais grupos com objetos similares vão se formando até que haja
somente um único grupo.

O Método DIANA funciona de maneira similar ao Método AGNES. A diferença é


que esse método inicia a partir do vértice raiz e, iterativamente, os grupos se dividem de
acordo com algum critério de similaridade.

O processo é finalizado quando houver apenas grupos unitários. O resultado é a


mesma árvore que foi obtida a partir do Método AGNES.

O algoritmo para agrupamento hierárquico aglomerativo é descrito por Da Silva et al.


(2017) da forma apresentada a seguir.

11
11
UNIDADE
Análise de Agrupamento

Algoritmo Hierárquico Aglomerativo (AGNES)


Parâmetros de entrada
• Xtr: um conjunto de exemplares não rotulado de treinamento, ou seja,

X tr= {x i } , i= 1, …, n
;
• dist: medida de distância;
• Abordagem para cálculo da distância entre grupos.

Parâmetros de saída
• D: árvore (ou dendograma) representando a organização dos exemplares em grupos.

Algoritmo
• Passo 1: calcule a matriz de similaridade;

• Passo 2: aloque cada exemplar x i de X tr em um grupo distinto, criando os vértices
folhas da árvore D;
• Passo 3: enquanto há possibilidade de união de grupos faça:
» Passo 3.1: verifique a distância entre todos os pares de grupos, usando a matriz
de similaridade ou calculando a distância entre os centroides dos grupos;
» Passo 3.2: encontre o par de grupos mais similares e os transforme em um único
grupo, criando um vértice interno na árvore D.

No mesmo sentido, o algoritmo para agrupamento hierárquico divisivo (DIANA) é


descrito por Da Silva et al. (2017) como segue.

Algoritmo Hierárquico Divisivo (DIANA)


Parâmetros de entrada
• Xtr: um conjunto de exemplares não rotulado de treinamento, ou seja,

X tr= {x i } , i= 1, …, n ;
• dist: medida de distância;
• Abordagem para cálculo da distância entre grupos.

Parâmetros de saída
• D: árvore (ou dendograma) representando a organização dos exemplares em grupos.

Algoritmo
• Passo 1: calcule a matriz de similaridade;

• Passo 2: aloque todos os exemplares x i de X tr em um único grupo, criando o
vértice raiz da árvore D;

12
• Passo 3: enquanto há a possibilidade de divisão de grupos, faça:
» Passo 3.1: selecione o grupo G, de maior dispersão (maior distância entre dois
exemplares no grupo) dentre todos os disponíveis para divisão;

» Passo 3.2: dentro de G, encontre o exemplar x dif menos similar a todos os ou-
tros (maior distância);

» Passo 3.3: transfira x dif de G para um novo grupo Gsplit;
» Passo 3.4: enquanto ocorrer transferência de G para Gsplit faça:

» Passo 3.4.1: dentro de G, encontre o exemplar x dif menos similar a todos os
outros (de maior distância aos demais exemplares de seu grupo);

» Passo 3.4.2: se a similaridade entre x dif e Gsplit é maior que a similaridade
 
entre x dif e ( G − x dif ) então:

» Passo 3.4.2.1: transfira x dif de G para G_(split);
» Passo 3.5: organize a árvore D, criando dois novos vértices na sua hierarquia
(para Gsplit e G), iniciando pelo grupo de maior dispersão, sendo que grupos for-
mados por mais de um exemplar devem constituir-se como um vértice interno da
árvore D, e grupos formados por apenas um exemplar devem constituir-se como
um vértice folha na árvore D.

Independentemente do método aplicado, o critério de similaridade será sempre con-


siderado em pares de objetos ou grupos, a partir da distância entre eles. Nesse sentido,
o par que apresentar a menor distância será o mais similar.

Quando se comparam grupos, são possíveis quatro abordagens para medição da


distância entre eles:
• Menor distância (single-linkage): a distância entre dois grupos é a distância entre
os objetos que estão mais próximos em cada grupo;
• Maior distância (complete-linkage): a distância entre dois grupos é a distância
entre os objetos que estão mais distantes em cada grupo;
• Distância média (average-linkage): a distância entre dois grupos é a média das
distâncias entre todos os objetos em um grupo e todos os objetos do outro grupo;
• Distância de centroides: a distância entre dois grupos é a distância entre seus centroides.

Na Geometria, centroide é o ponto que representa o centro geométrico de uma forma.


No contexto desta Disciplina, o centroide representa o centro de um conjunto de objetos.

Para ilustrar o processo de Agrupamento Hierárquico, considerando o método AGNES,


a Figura 5a apresenta um exemplo no qual os objetos, representados por letras de a até f,
estão distribuídos no espaço bidimensional.

Note que cada objeto possui dois atributos descritivos que foram utilizados para a distri-
buição no espaço e são representados pelos eixos do diagrama. Inicialmente, cada objeto
representa um grupo. Assim, temos a seguinte constituição {{a} , {b} , {c} , {d } , {e} , { f }} .

13
13
UNIDADE
Análise de Agrupamento

As distâncias entre os objetos serão mensuradas, nesse exemplo, de forma visual.

Veja que, na Figura 5a, os dois grupos que são mais próximos são {a} e {b}. Assim,
esses grupos serão fundidos e teremos a seguinte constituição após esse passo:
{{a, b} , {c} , {d } , {e} , { f }} .
Considerando a nova constituição, os dois grupos mais próximos são {f} e {e}, os
quais serão unidos e resultarão em {{a, b} , {c} , {d } , {e, f }} .
Seguindo com a observação das distâncias entre os grupos, os dois grupos mais pró-
{
ximos agora são {a, b} e {c}, que resultarão em {a, b, c} , {d } , {e, f } . }
Na sequência, os grupos mais próximos são {a, b, c} e {d}, os quais serão unidos, re-
sultando em {{a, b, c, d } , {e, f }} . Finalmente, os dois últimos grupos se unem e formam
{{a, b, c, d , e, f }} .

Figura 5 – Representações do processo de agrupamento considerando o método AGNES


Fonte: Adaptada de DA SILVA et al., 2017

A Figura 5b apresenta os agrupamentos formados, em cada passo do método AGNES,


e cada grupo é diferenciado por meio de cores. Outra representação possível para esse
agrupamento é por meio de um dendograma. Esse tipo de representação (Figura 5c) des-
creve a união dos conjuntos de objetos por meio de segmentos de reta.

Veja que as “alturas” dos segmentos representam a distância entre os grupos; quanto
menor a distância, mais “baixo” são os segmentos de reta.

Um dendograma representa o agrupamento hierárquico de modo que, a depender da


distância desejada, seja possível identificar os grupos e sua composição.

A Figura 6 apresenta um exemplo de dendograma com diferentes distâncias sele-


cionadas. Veja que, na Figura 6a, a distância selecionada é cerca de 1,25, assim, são
formados dois grupos que têm, no máximo, essa distância entre seus componentes.

As outras três representações na Figura 6 (b, c e d) apresentam seleções de distâncias


diferentes e, para cada exemplo, o número de grupos obtido é diferente.

As representações da Figura 6 foram construídas a partir da utilização da Linguagem


de Programação R, que é uma Linguagem Multi-Paradigma Vocacionada para a mani-
pulação, a análise e a visualização de dados.

14
Figura 6 – Exemplo de agrupamento hierárquico com diferentes
formações de grupos a partir do valor de distância considerado
Fonte: Adaptada de DA SILVA et al., 2017

Agrupamento por Partição


O principal algoritmo utilizado para o Agrupamento por Partição é o k-médias. Esse al-
goritmo consiste na definição aleatória de k centroides que representam a quantidade de
grupos que se pretende obter. Cada objeto no Conjunto de Dados é associado ao centroide
mais próximo.
Aqui, considera-se uma medida de distância entre os centroides e os objetos.
Após a associação de todos os objetos, os centroides são recalculados, de modo a re-
presentarem o centro de gravidade de cada grupo. O processo iterativo termina quando
os centroides não são mais movimentados.
O algoritmo k-médias é descrito por Da Silva et al. (2017) conforme se apresenta a seguir.

Algoritmo para Agrupamento por Partição (k-médias)


Parâmetros de entrada
• Xtr: um conjunto de exemplares não rotulado de treinamento, ou seja,

X tr = { xi } , i = 1,…, n ;
• k: o número de partições, ou grupos, a serem identificados;
• dist: medida de distância.

Parâmetros de saída
• k vetores que representam centroides de grupos, representando as partições descobertas.

Algoritmo
• Passo 1: escolha aleatoriamente um conjunto de vetores distintos para representar
os centroides, ou seja, C= {( c )} , p=
p 1, …, k ;

15
15
UNIDADE
Análise de Agrupamento

• Passo 2: enquanto houver alterações nas associações dos exemplares aos grupos
representados por cada centroide faça:

(  )
» Passo 2.1: verifique a distância dist xi , c p para cada exemplar i em n e cada
centroide p em k;


(  )
» Passo 2.2: associe cada exemplar xi ao vetor c p que minimiza dist xi , c p ,
formando cada uma das k partições do conjunto Xtr;

» Passo 2.3: atualize o conjunto de centroides C, de forma que cada vetor c seja

a média dos vetores x associados a ele.

A Figura 7 ilustra os passos do algoritmo, de forma parcial, considerando três grupos,


ou seja, k = 3.

Veja que o Conjunto de Dados apresenta somente duas dimensões, a partir das quais
os objetos são distribuídos.

Na maior parte dos casos reais, os objetos possuem múltiplos atributos e, consequen-
temente, múltiplas dimensões no espaço. O exemplo da Figura 7 permite o entendimento
do algoritmo de maneira simples. Sua lógica é a mesma para objetos multidimensionais.

A Figura 7a apresenta os objetos distribuídos pelo espaço bidimensional. O primeiro


passo, do algoritmo k-médias, é a seleção de k objetos, de forma aleatória, os quais repre-
sentarão os centroides iniciais. No caso desse exemplo, o objetivo é obter k = 3 grupos.

A Figura 7b apresenta os objetos selecionados, como centroides iniciais, nessa etapa


os centroides são objetos selecionados aleatoriamente, porém, nos passos seguintes os
centroides podem ser um ponto no espaço que não representa, necessariamente, um
objeto. Veja que os grupos são destacados nas cores azul, verde e vermelha.

Após a definição dos centroides, cada objeto será associado ao centroide mais próximo.

Veja que, na Figura 7c, o objeto selecionado está mais próximo do centroide verde,
assim, ele é associado a esse grupo. Os dois próximos objetos selecionados, nas Figuras
7d e 7e, também têm uma distância menor em relação ao centroide verde, ao qual eles
serão associados.

O objeto selecionado, na Figura 7f, é mais próximo ao centroide vermelho, ao qual


ele será associado:

16
Figura 7 – Exemplo de Agrupamento por Partição pelo algoritmo k-médias
Fonte: Adaptada de FARIA, 2015

O processo descrito será repetido para todos os objetos pertinentes ao conjunto. Ao fi-
nal dessa etapa, teremos a formação dos grupos, a partir da associação aos centroides.

Veja na Figura 7g o estado final após a finalização dessa etapa.

A partir da identificação inicial dos grupos, são definidos novos centroides para cada
um deles. Essa definição é resultado do cálculo do centro de gravidade de cada grupo.

Veja na Figura 7h os novos centroides calculados para cada um dos grupos iniciais.
Assim, o processo se repete, com a verificação das distâncias dos objetos, em relação
aos novos centroides, e com a associação dos objetos ao centroide mais próximo. O pro-
cesso será finalizado quando o cálculo do centro de gravidade dos grupos não alterar os
centroides anteriores.

O algoritmo k-médias apresenta um problema importante. A seleção inicial dos centroides


terá impacto na formação dos grupos.

Assim, poderemos ter grupos diferentes a partir de escolhas iniciais, também, dife-
rentes. Outro desafio, nesse caso, é a escolha arbitrária do número de grupos, ou seja,
a definição de k.

Agrupamento por Densidade


No contexto da análise de dados, a densidade pode ser definida como a quantidade
de objetos que estão dentro de um determinado raio de vizinhança.

Nesse sentido, um objeto y é vizinho de um objeto x se y está contido em uma área de


tamanho ε em torno de x. Formalmente, a vizinhança de x é definida da seguinte forma:

V
= ( x ) {y |d ( x, y ) ≤ ε }, ∀y

17
17
UNIDADE
Análise de Agrupamento

Onde x e y são objetos do conjunto de dados, d (x, y) é a distância entre esses objetos
e ε é um limiar arbitrário que limita a área ao redor de x.

O principal algoritmo de agrupamento por densidade é o DBSCAN (Density Based


Spatial Clustering of Applications with Noise).

Esse algoritmo é útil para identificar agrupamentos de formatos diferentes e ruídos


no conjunto de dados.

No contexto da análise de dados, ruído é um exemplar no Conjunto de Dados que é, possi-


velmente, inconsistente com o restante do Conjunto de Dados por apresentar um padrão
que não condiz com os demais.

O DBSCAN define automaticamente o número de grupos que serão formados.


Em cada grupo há, pelo menos, um objeto de núcleo que é definido como o objeto que
possui um número mínimo de objetos em sua vizinhança.

A formação dos grupos é feita a partir do objeto núcleo agregando seus vizinhos.
Para cada objeto adicionado à respectiva vizinhança também será adicionada.

O processo iterativo se encerra quando todos os objetos tiverem sido considerados.


Ao final do processo, os objetos que não foram adicionados a nenhum grupo são defi-
nidos como ruído.

Da Silva et al. (2017) descrevem os passos do algoritmo DBSCAN como apresentado


a seguir.

Algoritmo para agrupamento por densidade (DBSCAN)


Parâmetros de entrada
• Xtr: é um conjunto de exemplares não rotulado de treinamento, ou seja,

X tr = { xi } , i= 1, …, n ;
• minEx: número mínimo de exemplares exigido na verificação da densidade da vizinhança;
• r: raio de vizinhança de um exemplar;
• dist: medida de distância entre dois exemplares.

Parâmetros de saída
• G: uma lista com os exemplares agrupados ou indicação de exemplares definidos
como ruído pelo algoritmo.

Algoritmo
• Passo 1: G [1… n ] =
exemplar não agrupado ;
• Passo 2: id grupo = 0 ;

• Passo 3: para todo xi que ainda não pertence a um grupo e não está determinado
como ruído, faça:

18
» Passo 3.1: lista1 = {} ;

» Passo 3.2: lista1 = { xi } e todos os exemplares de Xtr na vizinhança de raio r de

xi , considerando a distância dist;

» Passo 3.3: se lista1 indicar menos exemplares na vizinhança de xi que minEx.

Então:

» Passo 3.3.1: xi é considerado ruído e G [i ] = ruído ;

Senão:

» Passo 3.3.2: id=


grupo id grupo + 1 ;
» Passo 3.3.3: G [ lista1] = id grupo ;

» Passo 3.3.4: lista1
= lista1 − x i ;

» Passo 3.3.5: para todo exemplar x j ∈ lista1 faça:

» Passo 3.3.5.1: lista2 = {} ;

» Passo 3.3.5.2: lista2 = x j



{  } e todos os exemplares de X
tr
na vizinhança de raio
r de x j , considerando a distância dist;

» Passo 3.3.5.3: se lista2 contém menos exemplares que minEx.

Então:

» Passo 3.3.5.3.1: lista1
= lista1 − x j ;
Senão:

lista1
= lista1 − x j
» Passo 3.3.5.3.2: ;

x ∈ lista2 que ainda não pertence a um grupo faça:
» Passo 3.3.5.3.3: para todo k

Passo 3.3.5.3.3.1: se x k ≠ ruído então:

• Passo 3.3.5.3.3.1.1: lista1
= lista1 + x k ;
• Passo 3.3.5.3.3.2: G [ k ] = id grupo .

A classificação resultante do algoritmo DBSCAN pode apontar para dois tipos


de exemplares.

Um “exemplar interno” é aquele que possui um número maior de exemplares em sua


vizinhança, enquanto um “exemplar de borda” possui um número menor de exemplares
em sua vizinhança.

A vizinhança de um exemplar é definida pelo raio r e o parâmetro minEx é utilizado


para definir se um exemplar é interno ou de borda.

Assim, se um exemplar possuir um número de vizinhos maior que minEx, então ele
é um exemplar interno, caso contrário ele será classificado como um exemplar de borda.

19
19
UNIDADE
Análise de Agrupamento

Dizemos que um exemplar y é diretamente alcançável por densidade a partir de


um exemplar x se y pertence à vizinhança de x.

Considere a Figura 8ª: os pontos coloridos representam os exemplares ou objetos e


as circunferências representam a vizinhança de raio r do exemplar.

Assim, podemos dizer que os exemplares azul e roxo são diretamente alcançáveis por
densidade a partir do exemplar verde.

Figura 8 – Representações dos conceitos de exemplares diretamente alcançáveis,


alcançáveis por densidade e conectados por densidade
Fonte: Adaptada de DA SILVA et al. 2017

Similarmente, dizemos que um exemplar y é alcançável por densidade a partir de


x se existir uma sequência de exemplares que são diretamente alcançáveis mutuamente
e que o primeiro exemplar é diretamente alcançável a partir de x e que y é diretamente
alcançável a partir do último exemplar da sequência.

Na Figura 8b, podemos dizer que o exemplar roxo é alcançável por densidade a partir
do exemplar azul, visto que o exemplar verde é diretamente alcançável pelo azul e o
exemplar roxo é diretamente alcançável pelo verde.

O conceito de conexão por densidade diz que um exemplar x é conectado por


densidade a um exemplar y se existir um exemplar w a partir do qual tanto o exemplar
x quanto o y são alcançáveis por densidade.

A Figura 8c apresenta um exemplo de conexão por densidade. Veja que o exemplar


vermelho é diretamente alcançável a partir do exemplar azul e o exemplar roxo é alcan-
çável, também, a partir do exemplar azul, assim, podemos afirmar que os exemplares
vermelho e roxo são conectados por densidade.

Considerando a algoritmo DBSCAN, é possível notar que as variáveis lista1 e lista2


são, respectivamente, um conjunto de exemplares alcançáveis por densidade a partir de
 
x i e um conjunto de exemplares diretamente alcançáveis a partir de x j .
Além disso, os grupos formados em G são compostos por conjuntos de exemplares
conectados por densidade.

A escolha dos parâmetros r e minEx de forma apropriada é um desafio para o qual há uma
heurística que procura avaliar como é a distribuição de densidade do conjunto de dados,
considerando o conceito de distância dos vizinhos mais próximos. Acesse o link a seguir,
para o Artigo original que propôs o DBSCAN com a descrição (em Inglês) da heurística e
demais detalhes. Disponível em: https://bit.ly/3m8kZAl

20
As descrições feitas nesta Unidade sobre os Algoritmos de Agrupamento são impor-
tantes para o entendimento de como cada algoritmo funciona e por que funciona.

A Linguagem de Programação R fornece funções para a aplicação de cada uma das


estratégias de agrupamento, sem que haja a necessidade de qualquer implementação
mais profunda.

Na próxima Unidade, vamos finalizar nossos estudos sobre as Técnicas para conver-
ter dados em conhecimento com a exploração da tarefa de regras de associação e de
detecção de anomalias.

21
21
UNIDADE
Análise de Agrupamento

Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Vídeos
Aprendizado de Máquina – Aula 16 – Agrupamento baseado em densidade
https://youtu.be/fEbQ62Xe4Is
Aprendizado de Máquina – Aula 13 – Agrupamento de dados: algoritmo k-médias (k-means)
https://youtu.be/PTL8t26OclI
Vídeo 2 do Tema 12: Agrupamento Hierárquico
https://bit.ly/3u7c6d6
Vídeo 3 do Tema 12: Agrupamento Particional
https://bit.ly/3wnG3Yz

22
Referências
CARVALHO, A. Aprendizado de máquina – Árvores de Decisão. Notas de aula. São
Paulo: ICMC/USP, 2017.

CASTRO, L. N.; FERRARI, D. G. Introdução à mineração de dados: conceitos


básicos, algoritmos e aplicações. São Paulo: Saraiva, 2016.

DA SILVA, L. A.; PERES, S. M.; BOSCARIOLI, C. Introdução à mineração de dados:


com aplicações em R. São Paulo: Elsevier, 2017.

FARIA, F. A. Aprendizagem não supervisionada – Agrupamento (Clustering). Notas


de aula. São Paulo: UNIFESP, 2015.

FRANÇA, F. O. Mineração de sentimentos. Notas de aula. São Paulo: UFABC, 2014.

GRUS, J. Data Science do zero: Primeiras regras com o Python. Rio de Janeiro: Alta
Books, 2019.

HAND, D. J.; MANNILA, H.; SMYTH, P. Principles of data mining (adaptive


computation and machine learning). Estados Unidos: MIT Press, 2001.

23
23

Você também pode gostar