Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. Quais os algoritmos de clusterização e quando utilizar?

    Quais os algoritmos de clusterização e quando utilizar?

    8 min8 minutos de leitura

    8 min8 minutos de leitura

    Publicado: 14/04/2024

    1. Como funciona a técnica de clusterização
    2. K-Means
    3. DBSCAN
    4. Mean Shift
    5. Clusterização hierárquica
    6. Conclusão
    7. Referências
    8. Créditos

    A análise de agrupamentos representa um conjunto de técnicas exploratórias muito eficientes para verificar a existência de comportamentos semelhantes entre registros de um conjunto de dados e com objetivo de formar grupos que possuem características similares.

    Estes grupos também são conhecido como clusters, portanto, a análise de agrupamentos também pode ser chamada de clusterização.

    Pensando nisso, neste artigo, vamos explorar os principais algoritmos de clusterização, suas diferenças e quando utilizá-los. Para isso, vamos conferir os seguintes algoritmos:

    • K-Means
    • DBSCAN
    • Mean Shift
    • e, por fim, a técnica de Clusterização hierárquica

    Vamos lá?

    Como funciona a técnica de clusterização

    O primeiro ponto importante é que uma das principais vantagens das técnicas de clusterização é rotular os dados com informações que desejamos prever. Isto é, a análise é de caráter exploratório.

    Existem inúmeras técnicas e com diferentes critérios para definir a similaridade entre os dados e formar os grupos.

    Essas técnicas servem para as mais diversas áreas, como sistemas de recomendação, segmentação de clientes e detecção de anomalias.

    Os critérios de semelhança e dissimilaridade destas técnicas geralmente envolvem o cálculo de distância entre os registros da base de dados. Portanto, só podem ser utilizadas informações binárias (0 ou 1) ou numéricas na avaliação de semelhança.

    Além disso, por conta dos cálculos de distância, esses algoritmos são muito sensíveis à presença de outliers e da diferença de escala entre as variáveis da base de dados.

    Com isso dito, vamos explorar nosso primeiro algoritmo que é K-Means.

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    K-Means

    O algoritmo K-Means é um dos algoritmos de clusterização mais populares e que tem como tarefa dividir um conjunto de dados em k grupos distintos.

    O objetivo deste algoritmo é minimizar a variância dos dados dentro de cada cluster. Em outras palavras, o objetivo é maximizar a similaridade entre os pontos dentro de um cluster e maximizar a divergência de características entre clusters diferentes.

    O algoritmo K-Means funciona basicamente da seguinte forma:

    • É definido uma quantidade inicial de clusters em que serão divididos os dados e demarcada a posição dos centróides. Os centróides são pontos representativos de um agrupamento, geralmente na posição central dos pontos.
    • O algoritmo calcula a distância de cada ponto até cada centróide e atribui ao ponto um grupo referente ao centróide mais próximo.
    • Após a definição dos grupos iniciais, cada centróide é reposicionado na posição média dos pontos de cada cluster.
    • Os dois passos anteriores são repetidos até que não haja variação na posição de cada cluster e atribuição de grupos de cada ponto.

    A visualização abaixo representa o processo iterativo do K-Means com 3 clusters, com a definição da posição dos centróides iniciais e o reposicionamento deles com base no ponto médio dos pontos:

    Representação de múltiplos pontos em um plano cartesiano. A animação se inicia com o aparecimento de 3 bolas de cores distintas em posições aleatórias. Ao longo da animação as bolas são realocadas no centro dos pontos mais próximos a elas.

    Quando utilizar o K-Means

    • Quando se tem um grande conjunto de dados e o número de clusters k é conhecido ou pode ser estimado.
    • Quando se procura uma solução rápida e eficiente para agrupar os dados.
    • Quando a distribuição dos dados é aproximadamente esférica, já que como o cálculo de distância é feito de um centro para cada ponto, geralmente os grupos formados terão formato esférico/circular.

    DBSCAN

    O DBSCAN é um algoritmo de clusterização que se baseia na densidade dos pontos.

    Com isso, essa técnica agrupa pontos próximos uns aos outros em clusters e ignora regiões onde a densidade de pontos é baixa. Ou seja, quando os pontos estão muito espaçados entre si.

    Ele é capaz de identificar clusters de forma arbitrária, sem a necessidade de definir anteriormente a quantidade de grupos a serem formados e é pouco prejudicado pela presença de outliers.

    Para que o algoritmo DBSCAN possa funcionar, é preciso definir um valor épsilon (ε) que determina a distância máxima a ser considerada para agrupar dois pontos em um mesmo cluster.

    Outro parâmetro a ser definido é o número mínimo de pontos dentro de uma vizinhança para que o cluster possa ser definido.

    O processo de geração dos clusters pelo algoritmo funciona da seguinte maneira:

    • É selecionado aleatoriamente um ponto da base de dados.
    • O cálculo de distância de uma esfera com raio épsilon (ε) é feito em torno do ponto selecionado.
    • Caso exista, dentro da esfera, uma quantidade de pontos mínima estipulada inicialmente, os pontos dentro da esfera serão parte de um cluster. Caso contrário, o ponto será considerado um ruído.
    • O processo é repetido para os pontos que foram atribuídos ao cluster até que a condição não seja mais satisfeita. Quando isso ocorrer, um novo ponto é escolhido aleatoriamente, para definir um novo cluster ou ruído.

    A visualização abaixo representa o processo iterativo do DBSCAN. Em cada um dos pontos é formado um círculo de tamanho épsilon (ε) e é verificado se existem pelo menos 3 pontos nessa vizinhança. Caso existam, os pontos são alocados em um cluster:

    Representação de múltiplos pontos em um plano cartesiano. A animação se inicia com um círculo ao redor de um ponto vermelho. Todos os pontos no interior do círculo se tornam vermelhos e o processo se repete para todos os pontos próximos. Quando não há pontos próximos o suficiente da região vermelha, o procedimento se inicia em um novo ponto aleatório de cor azul, repetindo o mesmo processo anterior. O processo se repete para as cores azul, verde, amarelo, preto, laranja, roxo e vinho.

    Quando utilizar o DBSCAN:

    • Quando os clusters têm formas complexas, diferentes do formato esférico.
    • Quando os dados contêm ruídos e outliers.
    • Quando não é possível definir a quantidade de agrupamentos a ser formada pelo algoritmo.

    Mean Shift

    O Mean Shift é um algoritmo que se baseia em centróides, assim como é feito no K-Means. No entanto, ele irá encontrar automaticamente a quantidade de clusters, portanto, não é necessário definir de antemão esta quantidade.

    Ele é baseado na ideia de encontrar máximos locais na densidade de pontos para descobrir os centros dos clusters.

    Ele funciona atualizando os candidatos a centróides para serem a média dos pontos dentro de uma determinada região.

    Os candidatos a centróides são filtrados para eliminar pontos duplicados ou pontos muito próximos, formando assim um conjunto final de centróides.

    O tamanho da região a ser pesquisada é determinado por um parâmetro bandwidth ou largura de banda, sendo possível definir manualmente ou de maneira automática a partir de uma estimativa.

    A visualização abaixo representa o processo iterativo do Mean Shift. Primeiramente são alocados diferentes possíveis centróides e a partir do cálculo de obtenção de um valor máximo, conhecido como "hill climbing" ou subida de colina, os centróides são realocados cada vez mais próximos do valor máximo de densidade até que seja definido o centro de um cluster:

    Representação de múltiplos pontos cinzas em um plano cartesiano, que formam 4 nuvens de pontos distintos. A animação se inicia com vários pontos pretos alocados em uma grade uniforme. Ao longo da animação, os pontos pretos vão se aproximando do centro das nuvens de pontos cinzas, até que convergem para apenas 4 pontos centrais.

    Quando utilizar o Mean Shift:

    • Quando não é possível definir a quantidade de agrupamentos a ser formada pelo algoritmo.
    • Quando os clusters têm formas e tamanhos arbitrários.
    • Quando a base de dados não tiver muitas linhas ou não tiver muitas variáveis. O algoritmo Mean Shift é muito custoso do ponto de vista computacional e quando está trabalhando com muitas variáveis, pode não convergir muito bem nas iterações.

    Clusterização hierárquica

    A clusterização hierárquica é uma técnica muito eficiente para determinar a quantidade de clusters e ter uma visualização geral de como os dados estão se aglomerando.

    Cada uma das observações começa em seu próprio cluster e, em seguida, clusters são sucessivamente mesclados com base na similaridade dos dados.

    Essa similaridade é calculada a partir de uma métrica de distância, como a euclidiana.

    No final de todo o processo de iteração, este algoritmo produz uma visualização em forma de árvore hierárquica de clusters, chamada dendrograma.

    A partir do dendrograma, é possível identificar quais dados são mais similares entre si e qual a quantidade de clusters em que os dados serão divididos.

    A imagem abaixo é uma representação de um dendrograma, no qual os dados foram divididos em 3 clusters, nas cores laranja, verde e vermelho.

    O eixo y representa a distância de um registro a outro, fazendo com que pontos mais próximos estejam em um mesmo cluster e pontos mais distantes estejam em clusters diferentes:

    Gráfico representando um dendrograma. O eixo x é o índice do ponto de dados e o eixo y é a distância entre os pontos. Os pontos são conectados a partir de linhas verticais que indicam o valor da distância entre um ponto e outro, formando uma figura em formato de árvore.

    Quando utilizar a clusterização hierárquica:

    • Quando se deseja visualizar a estrutura hierárquica dos dados.
    • Quando não se sabe o número ideal de clusters.
    • Quando os clusters têm formas e tamanhos arbitrários.

    Conclusão

    Neste artigo, foi possível conferir os seguintes algoritmos da clusterização, suas diferenças e quando podemos utilizá-los:

    • K-Means
    • DBSCAN
    • Mean Shift
    • e a técnica de Clusterização hierárquica

    É importante ressaltar que cada algoritmo possui suas próprias vantagens e limitações, e a escolha do algoritmo correto depende da natureza dos dados e dos objetivos da análise.

    Por fim, caso queira aprofundar ainda mais seus estudos nos conteúdos deste artigo, sugiro a nossa Formação Machine Learning em que um time de especialistas vai te ajudar a alavancar ainda mais sua carreira e capacitar você a adquirir cada vez mais conhecimento na área.

    Um abraço e até mais.

    Referências

    • Documentação oficial scikit-Learn: seção Clustering
    • Livro: Manual de análise de dados
    • Artigo: Clustering with Scikit with GIFs

    Créditos

    • Criação textual: João Miranda
    • Produção técnica: Rodrigo Dias
    • Produção didática: Tiago Trindade
    • Designer gráfico: Alysson Manso
    • Apoio: Rômulo Henrique
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de João Vitor de Miranda

    Autor(a)

    João Vitor de Miranda

    Bacharel em Matemática e pós graduado em Data Science e Analytics. Com conhecimento em Matemática, Estatística, Excel, Python, R e SQL/NoSQL.

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • 15/04/2021

      Data Science em &lt;T>: o que faz um cientista de dados?

      Ler mais
    • 23/09/2021

      o que é SQL: como usar os comandos básicos

      Ler mais
    • 17/04/2024

      Principais características e funcionalidades do Quarto

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.