Prévia do material em texto
TEMA DE APRENDIZAGEM 9 CLUSTERING BASEADOS EM DENSIDADE MINHAS METAS Compreender os princípios fundamentais dos métodos de clustering baseados em den- sidade. Familiarizar-se com os principais algoritmos de clustering baseados em densidade. Ser capaz de diferenciar entre métodos de clustering baseados em densidade e outras técnicas de clustering. Dominar a escolha e ajuste adequado dos parâmetros dos algoritmos de clustering baseados em densidade. Aplicar métodos de clustering baseados em densidade a conjuntos de dados reais. Analisar criticamente os resultados do clustering baseado em densidade. sobre as experiências de aplicação dos métodos de clustering baseados em densidade. 1 9 8UNIASSELVI INICIE SUA JORNADA Muitas vezes, no mundo dos dados, encontrar padrões significativos pode ser como procurar uma agulha no palheiro. Os métodos de clustering tra- dicionais têm suas limitações, especialmente quando se trata de conjun- tos de dados complexos e não lineares. Como, então, podemos identificar agrupamentos em dados com densidades variáveis e formas arbitrárias? Como podemos lidar com a presença de outliers que podem distorcer os resultados do clustering? Estas são questões que desafiam os profissionais de dados em diversos campos. Os métodos de clustering baseados em densidade emergem como uma res- posta para esses desafios. Eles oferecem uma abordagem flexível e robusta para identificar agrupamentos em conjuntos de dados complexos, adaptando-se na- turalmente à densidade variável dos dados e sendo robustos a outliers. Esses métodos têm significado real no mundo do trabalho, onde a capacidade de extrair insights valiosos dos dados é cada vez mais valorizada em uma variedade de indústrias, desde finanças até saúde e marketing. Na prática, a experimentação com métodos de clustering baseados em densi- dade envolve a aplicação de algoritmos como DBSCAN, OPTICS e DENCLUE a conjuntos de dados do mundo real. Os profissionais de dados coletam e pré- -processam os dados, selecionam os parâmetros adequados para os algoritmos e interpretam os resultados do clustering. Eles exploram como esses métodos podem revelar padrões ocultos nos dados, identificar grupos de interesse e for- necer insights acionáveis para apoiar a tomada de decisões. Ao experimentar com métodos de clustering baseados em densidade, os pro- fissionais de dados são levados à reflexão sobre a natureza dos dados e os desafios envolvidos na análise de padrões. Eles consideram questões como a escolha de parâmetros adequados, a sensibilidade a variações de densidade e a interpretação dos resultados do clustering. Essa reflexão os leva a aprimorar suas habilidades analíticas, a entender melhor a complexidade dos dados do mundo real e a buscar continuamente maneiras de melhorar seus métodos e abordagens. Em resumo, os métodos de clustering baseados em densidade ofere- cem uma abordagem poderosa para identificar padrões em conjuntos de dados complexos. Ao enfrentar os desafios do mundo real, os profissionais de dados exploram o significado desses métodos, experimentam com sua aplicação prá- 1 9 9TEMA DE APRENDIZAGEM 9 tica, refletem sobre suas experiências e buscam continuamente aprimorar suas habilidades e abordagens analíticas. PLAY NO CONHECIMENTO Neste podcast, você irá rever os conceitos de distribuições de probabilidade, mé- dia, mediana, variância e desvio padrão, testes estatísticos e intervalos de con- fiança e muitos outros conceitos necessários ao bom entendimento de Clusters baseados em densidade. Dê play! Recursos de mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem. VAMOS RECORDAR? Para iniciar os estudos de clusters baseados em densidade, precisamos recordar a busca em grafos, pois este é uma dos embasamentos para método de clustering baseado em densidade. Neste vídeo, vamos recordar dois dos principais algoritmos de busca em grafos: busca em profundidade e busca em largura DESENVOLVA SEU POTENCIAL Os métodos de clustering baseados em densidade são uma abordagem pode- rosa para identificar agrupamentos em conjuntos de dados complexos e não lineares. Ao contrário dos métodos de clustering baseados em particionamento ou hierárquicos, que assumem formas específicas de agrupamentos, os métodos baseados em densidade são capazes de encontrar agrupamentos de qualquer forma e tamanho, adaptando-se naturalmente à densidade variável dos dados. 0 0UNIASSELVI a) Colunas b) Colunas Y X Y Y Grupo 8 X Y 88 Grupo 7 88 8 8 Grupo 6 7 7 Grupo 5 6 6 5 5 Grupo 4 4 4 3 3 2 2 Grupo 3 1 1 Grupo 1 Grupo 1 X Grupo 2 X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Figura 1 - Exemplo de dois agrupamentos em um plano com duas dimensões (X,Y) Fonte: Esling and Agon (2012). Descrição da Imagem: gráfico da direita indicando três agrupamentos de pontos identificados como: grupo 1, grupo 2, grupo 3 e Gráfico da esquerda indicando uma outra forma de agrupar os mesmos pontos formando desta vez 8 grupos identificados como grupo 1 até o grupo 8. Fim da descrição. Em métodos de clustering baseados em densidade, um agrupamento é definido como uma região densa de pontos em meio a regiões menos densas, separadas por regiões de baixa densidade. O princípio subjacente é que os pontos de dados dentro de um cluster estão mais próximos uns dos outros do que dos pontos fora do cluster (Han et al., 2006). Em vez de assumir uma estrutura específica para os clusters, como formas geométricas ou distâncias fixas, esse método se concentra na densidade dos pon- tos de dados no espaço. Clusters são definidos como regiões densas de pontos, separadas por regiões de baixa densidade. Em comparação com métodos de clustering particionais, como K-Means, e hierárquicos, como o Agrupamento Hierárquico Aglomerativo, os métodos baseados em densidade têm a vantagem de não exigir a especificação do número de clusters a priori. Além disso, eles podem lidar com clusters de formas e ta- manhos variados de maneira mais eficaz do que essas abordagens tradicionais. Vejamos alguns dos aspectos fundamentais dos clusters baseados em densidade: 2 0 1TEMA DE APRENDIZAGEM 9 1. Não Requer Especificação Prévia do Número de Clusters Enquanto métodos como K-Means exigem que o número de clusters seja es- pecificado a priori, o clustering baseado em densidade não requer essa in- formação. Ele identifica automaticamente o número de clusters com base na densidade dos dados. 2. Flexibilidade na Forma dos Clusters Ao contrário do K-Means, que assume clusters de forma esférica, e do hierár- quico, que cria uma estrutura de árvore, o clustering baseado em densidade pode identificar clusters de qualquer forma e tamanho, adaptando-se à distri- buição dos dados. 3. Robustez a Ruídos e Outliers Devido à sua natureza baseada em densidade, esse método é menos sensível a ruídos e outliers do que outras abordagens. Pontos de dados isolados ou que estão em regiões de baixa densidade tendem a ser ignorados durante o processo de O conceito fundamental do clustering baseado em densidade é identificar regiões onde a densidade de pontos é significativamente maior do que em suas vizinhanças. Essas regiões de alta densidade são interpretadas como clusters, enquanto as regiões de baixa densidade atuam como fronteiras na- turais entre os clusters. Imagine um conjunto de dados espalhado em um espaço multidimensional. À medida que exploramos esse espaço, observamos áreas onde os pontos estão densamente agrupados. Essas áreas representam regiões de alta densidade, que podem ser interpretadas como clusters. Entre essas regiões densas, há áreas onde os pontos estão mais esparsamente distribuídos, indicando regiões de baixa den- sidade que separam os clusters. 2UNIASSELVI Imput Output 10 10 8 8 6 6 4 4 Cluster 2 2 Cluster4 0 -2 -2 -4 -4 -4 -2 2 4 6 8 10 12 -4 -2 2 4 6 8 10 12 Figura 2 - Regiões de alta densidade / Fonte: Ichi.Pro (c2024, on-line). Descrição da Imagem: gráfico da esquerda indicando 6 regiões de alta densidade de pontos todos com a mesma cor (azul) e Gráfico da esquerda indicando as mesmas regiões com cada uma delas destacada em cores diferentes e a indicando de cada uma delas. Fim da descrição. Essa ideia de regiões de alta densidade separadas por regiões de baixa densidade é fundamental para a compreensão do clustering baseado em densidade. Algorit- mos como o DBSCAN exploram essa estrutura para identificar clusters de forma eficaz, adaptando-se à densidade variável dos dados e encontrando agrupamentos de qualquer forma e tamanho. A seguir, apresentamos uma taxonomia dos diversos métodos de clustering e seus principais algorítmos, onde alguns dos algorítmos de clustering baseados por densidade serão vistos com mais detalhes no presente tópico. 2 0 3TEMA DE APRENDIZAGEM 9 Divisivo Agrupamento Single-linkage, Hierárquico Ward-linkage Aglomerativo Algoritmos de Agrupamento Baseado em K-Means, K-Medoids. centro K-Centers, APM Agrupamento por Baseado em Neighbor-based, DBSCAN, particionamento densidade Desity-peaks, Robust-D8 Baseado em PCCA, PCCA+ espectro Figura 3 - Tipos de algoritmos de cluster / Fonte: https://aiplanet.com/learn/unsupervised-learning-es/ Acesso em: 6 ago. 2024. Descrição da Imagem: taxonomia dos algoritmos de agrupamento. Inicialmente temos um retângulo indicando todos os Algoritmos de Agrupamento que se divide em 2 grandes grupos: Agrupamento Hierárquico e Agru- pamento por particionamento. 0 Agrupamento Hierárquico por sua vez se divide em: Divisivo e Aglomerativo. 0 Agrupamento por Particionamento se divide em: baseado em centro, baseado em densidade e baseado em espectro. A seguir, são listados os nomes dos principais algoritmos de cada um desses grupos. Fim da descrição. Principais aplicações do clustering baseado em densidade O clustering baseado em densidade é uma técnica poderosa e versátil ampla- mente utilizada em diversas áreas devido à sua capacidade de identificar clusters de formas arbitrárias e lidar eficazmente com ruídos e outliers. Sua aplicação se estende a campos como biologia, marketing, tecnologia da informação e análise de dados, onde é crucial para descobrir padrões complexos e obter insights sig- nificativos a partir de grandes volumes de dados. Na sequência, detalharemos as principais aplicações dessa técnica, ressaltando sua importância e pontos fortes. Dentre as principais aplicações, temos: 1. Análise de Dados Geoespaciais: clustering baseado em densidade é amplamente utilizado em análise de dados para identificar regiões de interesse, como áreas urbanas densamente povoadas ou regiões com atividades anômalas. 2. Segmentação de Clientes: é aplicado em segmentação de clientes para identificar grupos de consumidores com comportamentos de compra semelhantes. 2 0 4UNIASSELVI 3. Detecção de Anomalias: algoritmos de clustering baseados em densida- de também são usados para detecção de anomalias, identificando pontos que não se encaixam em nenhum cluster Porque segmentar clientes? Estratégias de marketing e vendas mais direcionadas Melhor experiência do cliente Retenção de clientes Otimização da solução Figura 4 - Clustering aplicado à segmentação de clientes Descrição da Imagem: desenho indicando uma figura feminina apontando para um alvo, tendo ao lado direito a indicação dos objetivos da segmentação de clientes: estratégias de marketing e vendas mais direcionadas, melhor experiência do cliente, retenção do cliente e otimização da solução. Fim da descrição DEFINIÇÃO DE CLUSTERING BASEADO EM DENSIDADE O clustering baseado em densidade é uma técnica de agrupamento de dados que identifica regiões de alta densidade em um espaço multidimensional. Em vez de assumir uma estrutura específica para os clusters, como formas geométricas ou distâncias fixas, esse método se concentra na densidade dos pontos de dados no espaço. Clusters são definidos como regiões densas de pontos, separadas por regiões de baixa densidade. O clustering baseado em densidade difere de outros métodos de clustering, como o particionamento (por exemplo, K-Means) e o hierárquico, em vários aspectos fundamentais: 2 0 5TEMA DE APRENDIZAGEM 9 1. Não Requer Especificação Prévia do Número de Clusters Enquanto métodos como K-Means exigem que o número de clusters seja especi- ficado a priori, o clustering baseado em densidade não requer essa informação. Ele identifica automaticamente o número de clusters com base na densidade dos dados. 2. Flexibilidade na Forma dos Clusters Ao contrário do K-Means, que assume clusters de forma esférica, e do hierárquico, que cria uma estrutura de árvore, o clustering baseado em densidade pode identi- ficar clusters de qualquer forma e tamanho, adaptando-se à distribuição dos dados. 3. Robustez a Ruídos e Outliers Devido à sua natureza baseada em densidade, esse método é menos sensível a ruí- dos e outliers do que outras abordagens. Pontos de dados isolados ou que estão em regiões de baixa densidade tendem a ser ignorados durante o processo de clustering. O conceito fundamental do clustering baseado em densidade é identificar re- giões onde a densidade de pontos é significativamente maior do que em suas vizi- nhanças. Essas regiões de alta densidade são interpretadas como clusters, enquanto as regiões de baixa densidade atuam como fronteiras naturais entre os clusters. Imagine um conjunto de dados espalhado em um espaço multidimensio- nal. À medida que exploramos esse espaço, observamos áreas onde os pontos estão densamente agrupados. Essas áreas representam regiões de alta densidade, que podem ser interpretadas como clusters. Entre essas regiões densas, há áreas onde os pontos estão mais esparsamente distribuídos, indicando regiões de baixa densidade que separam os clusters. Essa ideia de regiões de alta densidade separadas por regiões de baixa den- sidade é fundamental para a compreensão do clustering baseado em densidade. Algoritmos como o DBSCAN exploram essa estrutura para identificar clusters de forma eficaz, adaptando-se à densidade variável dos dados e encontrando agrupamentos de qualquer forma e tamanho. Algoritmos Principais em Clustering Baseado em Densidade Existem vários algoritmos populares em clustering baseado em densidade, cada um com suas próprias abordagens para identificar clusters com base na 2 0 6UNIASSELVI densidade dos pontos de dados. Entre os mais notáveis estão o DBSCAN, o OPTICS e o DENCLUE. DBSCAN (Density-Based Spatial Clustering of Applications with Noise): O DBSCAN é um dos algoritmos mais amplamente utilizados em clustering baseado em densidade. Ele define clusters como regiões densas de pontos, se- paradas por regiões de baixa densidade. A ideia principal por trás do DBSCAN é que, para cada ponto em um conjunto de dados, se houver pontos suficientes em sua vizinhança dentro de uma determinada distância E (epsilon), ele será considerado parte de um cluster. Além disso, o DBSCAN pode lidar com pon- tos de dados que estão em regiões de baixa densidade, classificando-os como ruído ou pontos de borda. Um objeto p é conectado por densidade a um objeto q (com respeito aos parâmetros Eps, MinPts) se existir um objeto o tal que p e q são alcançáveis por densidade a partir de O. p q Figura 5 Método DBSCAN / Fonte: Amo (c2024, , on-line). Descrição da Imagem: figura indicando 5 círculos que contém um certo número de pontos no seu interior com destaque para os pontos q que ficam nas extremidades da figura e o ponto 0 localizado no ponto central. Os pontos qe 0 estão ligados por setas. Fim da descrição. A formulação matemática do DBSCAN envolve os seguintes conceitos: 2 0 7TEMA DE APRENDIZAGEM 9 1. Epsilon distância máxima entre dois pontos para que um seja con- siderado vizinho do outro. 2. MinPts: número mínimo de pontos que um ponto deve ter em seu raio E para ser considerado um ponto central (core point). 3. Ponto Central (Core Point): um ponto é um ponto central se possui pelo menos MinPts vizinhos dentro do raio E. 4. Ponto Fronteira (Border Point): um ponto que não é um ponto central, mas está dentro do raio E de um ponto central. 5. Ponto Ruído (Noise Point): um ponto que não é um ponto central nem um ponto fronteira. A partir dessas definições, os agrupamentos são formados conforme a seguinte lógica: Inicie com um ponto central e todos os pontos dentro do seu raio E. Continue expandindo o cluster incluindo os pontos dentro do raio E dos novos pontos centrais encontrados. Repita o processo até que não haja mais pontos centrais conectados. Qualquer ponto não incluído em um cluster é considerado Matematicamente, para cada ponto p: Onde N(p) é o conjunto de pontos no de a distância dist(p,q)é geralmente a distância Euclidiana. Um ponto p é um ponto central se: N(p) MinPts A partir dessa formulação, DBSCAN constrói clusters de pontos centrais e seus vizinhos, formando agrupamentos de alta densidade, e identifica pontos de baixa densidade como ruído. Vamos ver uma implementação em Python da utilização do método DBSCAN: import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make blobs from import DBSCAN 8UNIASSELVI Vamos utilizar a função make_blobs para criar um conjunto de dados com três centros definidos e uma dispersão especificada. # Gerar dados de exemplo centers = 1], [-1, -1], [1, -1]] X, = make blobs (n samples=750, centers=centers, - cluster std=0.4, random state=0) Na aplicação do DBSCAN vamos configurar o algoritmo com: eps=0.3 e min_samples=10. fit ajusta o modelo aos dados X e gera os rótulos de cluster. # Aplicar algoritmo DBSCAN db = DBSCAN (eps=0.3, min samples=10) .fit (X) labels = db.labels Vamos obter o número de clusters e pontos de ruído e plotar o resultado. # Número de clusters no rótulo, ignorando ruído se houver n_clusters = len (set (labels)) - (1 if -1 in bels else 0) n noise = list print de clusters: print (f'Número de pontos de ruído: Número de clusters: 3 Número de pontos de 22 # Plotar resultados unique labels = set (labels) colors = [plt.cm.Spectral (each) for each in np. linspace (0, 1, len (unique_labels) ) ] for k, col in zip (unique_labels, colors) : # Cor para ruído col = = (labels k) xy = mask & (labels != plt.plot(xy 0], xy[:, 1], markerfa- 2 0 9TEMA DE APRENDIZAGEM 9 cecolor=tuple (col) , k' markersize=14) xy = & (labels plt.plot 0], xy[:, 1], markerfa- cecolor=tuple (col) markeredgecolor=' k' markersize=6) plt.title (f'Número estimado de clusters : ters_}') plt.show Número estimado de clusters: 3 2 1 0 -1 -2 -2 -1 0 1 2 Figura 6 Conjunto de dados com três centros definidos / Fonte: o autor. Descrição da Imagem: gráfico indicando 3 regiões de alta densidade de pontos, indicando conjunto de dados com três centros definidos, nas cores amarelo e verde na parte basal do gráfico e vermelho no canto superior direito. Fim da descrição. OPTICS (Ordering Points To Identify the Clustering Structure) O OPTICS é uma extensão do DBSCAN que produz uma ordenação dos pontos de dados com base na densidade. Em vez de simplesmente identificar clusters, o OPTICS fornece uma representação hierárquica da estrutura de clus- 2 1 0UNIASSELVI tering, mostrando como a densidade dos pontos varia no espaço. Ele identifica clusters de diferentes densidades e formas, permitindo uma compreensão mais completa da distribuição dos dados. DENCLUE (DENsity-based CLUstEring) O DENCLUE é outro algoritmo de clustering baseado em densidade que modela a densidade dos dados como funções de densidade de núcleo (kernel density functions). Ele identifica picos na função de densidade para encontrar regiões de alta densidade, que são interpretadas como clusters. O DENCLUE é capaz de detectar clusters de forma arbitrariamente complexa e pode lidar com conjuntos de dados com densidade variável (Hinneburg; Keim, 2003). A formulação matemática que embasa o DENCLUE envolve o uso de funções de influência e gradientes de densidade para encontrar essas regiões densas e se utiliza dos seguintes conceitos: 1. Função de Densidade A densidade em um ponto X é definida como a soma das funções de influência f dos pontos de dados próximos a X: onde: D é o conjunto de dados. é uma função de influência que mede a contribuição de um ponto de dados na densidade em X. Normalmente, usa-se uma função Gaus- siana: 2 = 202 onde é o parâmetro de largura da Gaussiana. 2. Gradiente da Função de Densidade O gradiente da função de densidade, Vf(x), é usado para determinar a di- reção de aumento máximo da densidade: 2 1TEMA DE APRENDIZAGEM 9 3. Caminho de Ascensão de Densidade Cada ponto de dados X é movido iterativamente na direção do gradiente da den- sidade até atingir um ponto de densidade máxima (modo), que representa o centro do cluster: onde é a taxa de aprendizagem ou passo. 4. Aglomeração de Modos Os pontos de dados que convergem para o mesmo modo são agrupados no mes- mo cluster. Dois modos ml e m2 são considerados pertencentes ao mesmo cluster se a densidade ao longo do caminho de ascensão entre eles não cair abaixo de um certo limiar min xe O DENCLUE identifica clusters ao encontrar regiões densas no espaço de dados usando funções de influência, gradientes de densidade e caminhos de ascensão de densidade. A convergência para modos de densidade máxima permite a formação de clusters com base na densidade local dos dados. Vamos ver uma implementação em Python da utilização do método DEN- CLUE: O DENCLUE é um algoritmo de clustering baseado em densidade que não é tão comum quanto DBSCAN ou K-Means. Portanto, não está incluído direta- mente nas bibliotecas padrão como scikit-learn. import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make blobs Vamos construir uma Função Gaussiana de Influência que calcula a influência de um ponto xi na densidade em X. # Função Gaussiana de influência def gaussian_influence xi, sigma) : return np. exp (-np.linalg.norm xi) ** 2 / (2 * sigma ** 2) ) 2 2UNIASSELVI Vamos construir uma função Gradiente da Função de Densidade que calcula o gradiente da densidade para determinar a direção de aumento máximo da densidade. # Gradiente da função de densidade def X, sigma) : grad = (x) for xi in X: influence = (x, xi, sigma) grad * influence return grad A função a seguir é chamada de Caminho de Ascensão de Densidade: move o ponto X na direção do gradiente da densidade até atingir um ponto de densidade máxima (modo). # Caminho de ascensão de densidade def ascend density (x, X, sigma, delta, max iter=100) : for in range (max iter) : - grad = density gradient (x, X, sigma) delta * grad return X Finalmente a função de clusterização usando DENCLUE vai agrupar os pontos que convergem para o mesmo modo em um cluster. # Clusterizar OS dados usando DENCLUE def denclue (X, sigma, delta, max iter=100) : modes = [] clusters = { } for X in mode = X, sigma, delta, found : False for m in modes : if np.linalg.norm (mode - m)TEMA DE APRENDIZAGEM 9 found = True break if not found: modes.append (mode) clusters [tuple (mode) ] return modes, clusters # Gerar dados de exemplo X, y = make_blobs(n_samples=300, centers=3 ran- dom state=42) # Parâmetros do DENCLUE sigma = 1.0 delta = 0.1 # Executar DENCLUE modes, clusters = sigma, delta) # Visualizar OS clusters colors = 'b' ] plt. figure (figsize=(8, 6) ) for i, mode in enumerate (modes) : cluster points = np. array (clusters [tuple 0], clus- 1], c=colors[i % len(colors)], la- bel=f'Cluster {i+1} ') mode [1], mar- s=200, linewidths=3) plt.xlabel ('Feature 1') 2') plt.legend() plt.show 4UNIASSELVI DENCLUE Clustering Cluster 1 10 Cluster 2 Cluster 3 Cluster 4 Cluster 5 Cluster 6 5 0 -5 -10 -8 -6 -4 -2 2 4 6 Feature 1 Figura 7 - Clusterização usando DENCLUE / Fonte: o autor. Descrição da Imagem: gráfico indicando 3 regiões de alta densidade de pontos, indicando conjunto de dados com três centros definidos, nas cores vermelha, na parte no canto inferior esquerdo e verde e azul na parte superior e lateral direita do gráfico. Fim da descrição. Todos esses algoritmos identificam clusters com base na densidade dos pon- tos de dados, mas suas abordagens podem variar. O DBSCAN identifica clusters definindo uma vizinhança E para cada ponto de dados e contando quantos pontos estão dentro dessa vizinhança. Se o número de pontos dentro da vizinhança exceder um limite mínimo definido pelo usuário, o ponto é considerado um núcleo de um cluster. Pontos que estão dentro da vizinhança de um núcleo, mas não são núcleos eles próprios, são considerados parte do mesmo cluster. Pontos que não estão dentro da vizinhança de nenhum núcleo são considerados ruído ou pontos de borda. 2 1 5TEMA DE APRENDIZAGEM 9 Já o OPTICS calcula a densidade dos pontos de dados em relação à sua distância uns dos outros, criando uma representação hierárquica da estrutura de clustering. Ele identifica clusters como regiões onde a densidade excede um determinado limite, permitindo a detecção de clusters de diferentes densidades e formas. Por fim, o DENCLUE modela a densidade dos dados como funções de densidade de núcleo e identifica picos nessa função como clusters. Ele usa técnicas de análise de densidade para encontrar regiões de alta densidade no espaço de características, que são interpretadas como clusters. Em resumo, esses algoritmos identificam clusters com base na densidade dos pontos de dados, adaptando-se à distribuição dos dados e encontrando agrupa- mentos de qualquer forma e tamanho. Cada algoritmo tem suas próprias van- tagens e limitações, e a escolha do algoritmo certo depende das características específicas do conjunto de dados e dos objetivos da análise. Vantagens e Aplicações dos Métodos de Clustering Baseados em Densidade Os métodos de clustering baseados em densidade oferecem diversas vantagens signi- ficativas em comparação com outras técnicas de clustering, especialmente em rios onde os clusters têm formas arbitrárias e os dados contêm outliers. A seguir estão algumas das vantagens desses métodos, juntamente com exemplos de suas aplicações: 1. Capacidade de Encontrar Clusters de Formas Arbitrárias Uma das principais vantagens dos métodos de clustering baseados em densidade é sua capacidade de identificar clusters de qualquer forma e tamanho. Ao contrá- rio de métodos como o K-Means, que pressupõem formas de cluster específicas, esses algoritmos podem se adaptar naturalmente à estrutura dos dados, identifi- cando agrupamentos complexos e não convencionais. Em imagens médicas, como imagens de ressonância magnética (MRI) ou tomografias computadorizadas (CT), os métodos de clustering baseados em den- sidade podem ser usados para identificar regiões de interesse, como tumores, independentemente de sua forma ou tamanho. 2 6UNIASSELVI 2. Robustez a Outliers e Ruídos Métodos de clustering baseados em densidade são menos sensíveis a outliers e ruídos do que algumas outras abordagens. Eles conseguem distinguir entre regiões de alta densidade, que formam os clusters, e regiões de baixa densidade, onde os outliers tendem a estar localizados. Portanto, esses métodos têm a capa- cidade de ignorar ou classificar corretamente os outliers, em vez de incorporá-los erroneamente em clusters. Em sistemas de detecção de fraudes, como detecção de fraudes em tran- sações financeiras, é crucial identificar padrões anômalos que possam indicar atividades fraudulentas. Os métodos de clustering baseados em densidade podem ser aplicados para identificar agrupamentos suspeitos de transações, mesmo em presença de outliers, ajudando a detectar atividades fraudulentas. 3. Flexibilidade na Densidade dos Clusters Esses métodos são capazes de lidar com conjuntos de dados onde a densidade dos clusters varia significativamente. Eles não pressupõem uma densidade uniforme dos dados e podem identificar clusters em regiões de alta densidade separadas por regiões de baixa densidade. Em análise de marketing, a segmentação de clientes é essencial para enten- der o comportamento dos consumidores e direcionar estratégias de marketing personalizadas. Os métodos de clustering baseados em densidade podem iden- tificar grupos de clientes com diferentes níveis de atividade e comportamento de compra, mesmo em regiões de densidade variável. Outras áreas de grande aplicação desses métodos são: análise de tráfego e estudos ambientais. No campo da análise de tráfego, esses métodos podem ser usados para identificar padrões de tráfego complexos em redes de transporte, ajudando a otimizar o planejamento urbano e a gestão de tráfego. Os métodos de clustering baseados em densidade podem ser aplicados também para identificar padrões de tráfego em áreas urbanas, como congestionamentos recorrentes em determinadas rotas ou horários, permitindo uma melhor alocação de recursos e planejamento de infraestrutura de transporte. Na área de estudos ambientais, esses métodos podem ser usados para iden- tificar padrões espaciais e temporais em conjuntos de dados ambientais, auxi- liando na compreensão de fenômenos naturais e na tomada de decisões para aTEMA DE APRENDIZAGEM 9 conservação ambiental. Os métodos de clustering baseados em densidade podem ser aplicados para identificar áreas de alta biodiversidade em um ecossistema, ajudando na definição de áreas prioritárias para conservação e na implementação de políticas de gestão sustentável. Em resumo, os métodos de clustering baseados em densidade oferecem van- tagens distintas, incluindo a capacidade de lidar com a complexidade dos dados do mundo real, encontrar clusters de formas arbitrárias e robustez a outliers. Essas características tornam esses métodos valiosos em uma variedade de aplicações, desde análise de dados médicos até detecção de fraudes e segmentação de clientes. DESAFIOS E CONSIDERAÇÕES Embora os métodos de clustering baseados em densidade ofereçam vantagens significativas, como a capacidade de lidar com clusters de formas arbitrárias e a robustez a outliers, eles também apresentam desafios que precisam ser conside- rados ao aplicá-los em diferentes cenários. A seguir, estão alguns dos principais desafios e considerações associados a esses métodos: 8UNIASSELVI ESCOLHA DE PARÂMETROS ADEQUADOS Muitos algoritmos de clustering baseados em densidade, como o DBSCAN, requerem a definição de parâmetros, como o raio de vizinhança e o número mínimo de pontos em uma vizinhança para definir um cluster. A escolha desses parâmetros pode ser crítica e pode afetar significativamente os resultados do clustering. A escolha dos parâmetros adequados depende da natureza dos dados e dos padrões que se deseja identificar. É importante realizar experimentos e avaliar os resultados do clustering com diferentes valores de parâmetros para encontrar a configuração ótima. SENSIBILIDADE A VARIAÇÕES DE DENSIDADE Alguns algoritmos de clustering baseados em densidade podem ser sensíveis a varia- ções na densidade dos dados, que pode afetar a capacidade de identificar clusters de forma consistente, especialmente em conjuntos de dados com densidade variável. É importante entender a distribuição de densidade dos dados e escolher algoritmos de clustering baseados em densidade que sejam capazes de lidar com variações na densi- dade, como o OPTICS, que é capaz de detectar clusters de diferentes densidades. INTERPRETAÇÃO E AVALIAÇÃO DE RESULTADOS A interpretação dos resultados do clustering baseado em densidade pode ser desafia- dora devido à natureza complexa dos clusters identificados e à falta de uma definição clara de fronteiras entre os clusters. Além de métricas de avaliação tradicionais, como índices de validação de clusters, é importante realizar uma análise visual dos resulta- dos do clustering e avaliar sua interpretabilidade e consistência com o conhecimento do domínio. ESCALABILIDADE Alguns algoritmos de clustering baseados em densidade podem enfrentar desafios de escalabilidade com conjuntos de dados muito grandes, devido à necessidade de calcular distâncias entre todos os pontos ou à complexidade computacional de algoritmos mais sofisticados. É importante escolher algoritmos de clustering baseados em densidade eficientes em termos de tempo de execução e considerar técnicas de paralelização para lidar com conjuntos de dados grandes 9TEMA DE APRENDIZAGEM 9 3 2 1 y 0 -1 -2 -3 -2 -1 0 1 2 3 4 5 6 X Figura 8 Pontos com densidades diferentes / Fonte: Alvares (2004, on-line). Descrição da Imagem: gráfico cartesiano indicando 3 agrupamentos de pontos, sendo primeiro mais à esquerda contendo pontos com uma taxa menor de densidade e os 2 outros menores à direita contendo pontos com uma taxa maior de densidade. Fim da descrição. Em resumo, embora os métodos de clustering baseados em densidade ofereçam vantagens significativas em relação a outras abordagens de clustering, como fle- xibilidade na forma dos clusters e robustez a outliers, é importante considerar os desafios associados, como a escolha de parâmetros adequados e a sensibili- dade a variações de densidade. Uma abordagem cuidadosa e uma compreensão profunda dos dados e algoritmos podem ajudar a mitigar esses desafios e obter resultados de clustering mais robustos e significativos (Silva et al., 2013). 0UNIASSELVI EXEMPLO PRÁTICO EM PYTHON No código a seguir, geramos dados bidimensionais sintéticos utilizando a fun- ção make_blobs da biblioteca scikit-learn do Python, criando três clusters com densidades distintas. Além disso, definimos os parâmetros necessários: eps min_samples (minPoints) e a métrica de distância. Em seguida, aplicamos os algoritmos de clustering DBSCAN e OPTICS com os métodos apropriados da biblioteca scikit-learn e visualizamos os resultados usando a função plot_clusters definida pelo usuário. Esta função permite a criação de gráficos personalizados dos agrupamentos. Por fim, geramos o gráfico de alcançabilidade utilizando a função reachability plot criada. from sklearn.datasets import make_blobs from sklearn. .preprocessing import StandardScaler import matplotlib.pyplot as plt import pandas as pd import numpy as np from sklearn.cluster import DBSCAN, OPTICS plt.style.use("ggplot" colors = ["#00ADB5", "#FF5376", "#724BE5", "#FDB62F"] 15}) def plot_clusters(algorithm, _df, _eps=""): unique_labels = set(_df.labels) for k, col in zip(unique_labels, : # Use black color for noise if col = "k" # Use different color per cluster and add labels plt.plot( "o", color=col, markeredgecolor="k", markersize=15, label=(f"Cluster {k+1}" if k != -1 else "Noise") + f" == ) # Add and title right") plt.title( f"{algorithm} : + (f"eps={_eps}, if _eps != + f"min_samples={_min_samples}" ) plt.show() 2 2 1TEMA DE APRENDIZAGEM 9 def reachability_plot(_df, model) : # Get reachability distances and cluster reachability = model.reachability_[model.ordering_] labels = unique_labels = set(labels) space = np.arange(1en(_df)) # Generate reachability plot using different color per cluster for k, col in zip(unique_labels,colors): xk rk = reachability[labels == plt. rk, col) lt.fill_between(xk, rk, color=col, alpha=0.5) # Ordering in x-axis plt.xticks(space, _df.index[model.ordering_] fontsize=10) Plot outliers plt.plot(space[labels == -1], reachability[labels == -1], "k.", alpha=0.3) # Add y-label and title Distance") plt.show() if name == - # Generate data centers = [[1, 1], [-2, -4], [5, -7]] data = make_blobs( n_samples=[30, random_state=0, data = df = 0], y=data[:, 1])) # Define parameters eps 0.5 min_samples = 5 metric "euclidean" # DBSCAN clustering and visualize results dbscan = DBSCAN(eps=eps, min_samples=min_samples, metric=metric).fit(df) df["labels"] = dbscan.labels_ plot_clusters("DBSCAN", df, str(eps)) # Perform OPTICS clustering and visualize results optics = OPTICS(min_samples=min_samples, metric=metric).fit(df) df["labels"] plot_clusters("OPTICS", df, str(min_samples)) reachability_plot(df, optics) 2 2UNIASSELVI DBSCAN: eps=0.5 min_samples=5 OPTICS: min_samples=5 Cluster 1 (19) Cluster 1 (20) 1 Cluster 2 (30) 1- Cluster 2 (30) Noise (11) Noise (10) 0 0 - -1 -1- -2 -2 -1 0 1 2 -1 0 1 2 Figura 9 Gráficos indicando o resultado da aplicação dos métodos de agrupamento DBSCAN e OPTICS Fonte: o autor Descrição da Imagem: gráfico do DBSCAN indicando 2 agrupamentos, sendo o primeiro com 19 pontos e o segundo com 30 pontos e indicando 11 pontos que não foram possíveis serem agrupados. Gráfico do OPTICS indicando 3 agrupamentos, sendo primeiro com 20 pontos, segundo com 30 pontos e o terceiro com 10 pontos. Fim da descrição. Em resumo, o clustering baseado em densidade se destaca como uma ferramen- ta essencial para a análise de dados complexos, permitindo a identificação de clusters de formas variadas e a gestão eficaz de outliers. Com suas inúmeras apli- cações práticas, essa técnica se mostra valiosa em várias disciplinas. O exemplo apresentado em Python que utiliza os algoritmos DBSCAN e OPTICS demonstra como essas abordagens podem ser implementadas para resolver problemas reais de clustering e descobrir insights significativos a partir de dados. EM FOCO Estudante, para expandir seus conhecimentos sobre assunto abordado, gosta- ríamos de lhe indicar a aula que preparamos especialmente para você. Acredita- mos que essa aula irá complementar e aprofundar ainda mais seu entendimento sobre tema. Recursos de mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem. 3TEMA DE APRENDIZAGEM 9 NOVOS DESAFIOS Vamos explorar como os conceitos de clustering baseados em densidade se rela- cionam com o ambiente profissional e suas perspectivas? Os métodos de clustering baseados em densidade têm uma ampla gama de apli- cações em diferentes setores, incluindo finanças, saúde, varejo, marketing e muitos outros. Por exemplo, em instituições financeiras, esses métodos podem ser utilizados para detecção de fraudes em transações, enquanto na área da saúde, podem ajudar na identificação de padrões em dados médicos para diagnóstico e tratamento. No ambiente profissional, os profissionais enfrentam desafios complexos que exigem a análise e interpretação de grandes volumes de dados. Os métodos de clustering baseados em densidade oferecem uma abordagem poderosa para identificar padrões e estruturas em conjuntos de dados complexos, permitindo a tomada de decisões informadas e a resolução de problemas de forma eficaz. A flexibilidade destes métodos permite que eles se adaptem a uma ampla variedade de cenários e desafios. Isso é crucial em um ambiente profissional mico, onde os requisitos e as demandas podem mudar rapidamente. Profissionais que dominam esses métodos são capazes de aplicá-los de forma criativa e eficaz em diferentes contextos, agregando valor às suas organizações. Ao trabalhar com métodos tais, os profissionais desenvolvem habilidades analíticas sólidas para explorar e interpretar padrões em dados. Eles aprendem a identificar insights significativos, extrair informações úteis e tomar decisões fundamentadas com base em evidências, habilidades essenciais para o sucesso em muitos campos profissionais. Profissionais com experiência em métodos de clustering baseados em den- sidade são altamente valorizados no mercado de trabalho devido à sua capa- cidade de transformar dados em insights acionáveis. Empresas em diversos setores buscam talentos com habilidades em análise de dados e aprendizado de máquina para impulsionar a inovação, melhorar a eficiência operacional e ganhar vantagem competitiva. Em suma, a conexão entre a teoria e a prática no mercado de trabalho é funda- mental para o sucesso profissional dos estudantes. Ao entender como os conceitos teóricos, como clustering baseado em densidade, se aplicam no mundo real, os estudantes podem se preparar para enfrentar os desafios do ambiente profissional e aproveitar as oportunidades de carreira em diversos setores e organizações. 2 2 4