O seu Blog de Psicometria

Tenha acesso à nossa enciclopédia virtual de conhecimento em Psicometria e Análise de Dados

Junte-se a mais de 22.300 membros e receba conteúdos exclusivos e com prioridade

Compartilhe nas Redes Sociais

O algoritmo k-means clustering

Alessandro Reis

nov 13, 2025

Imagine que você está organizando uma festa e distribui grupos de convidados para mesas, mas sem lugares marcados. Aos poucos, as pessoas se movem até se sentirem confortáveis entre amigos.

metáfora das mesas na festa para o algoritmo k-means.

Depois de algumas rodadas de “mudanças de mesa” e “recontagem de amigos à volta”, o sistema fica estável. Em outras palavras, cada convidado está em uma mesa onde seu grupo faz sentido.

O algoritmo k‑means clustering faz algo semelhante com dados: ele organiza as observações clusters (i.e., as mesas) de modo que, dentro de cada grupo, as observações (i.e., os convidados de uma mesma mesa) sejam semelhantes; em contrapartida, as diferenças entre grupos (i.e., os convidados de diferentes mesas) são maiores.

Assim, o algoritmo k-means nos ajuda a revelar padrões escondidos em grandes volumes de dados.

Uma definição formal do algoritmo kmeans

O k-means é um algoritmo de aprendizagem não supervisionada. Em outras palavras, ele trabalha com dados que não precisam ser previamente rotulados ou “compreendidos”.

Seu objetivo é particionar um conjunto de n observações em k clusters, de modo que cada observação pertença ao cluster cujo centróide (média dos pontos no cluster) essa observação esteja mais próxima.

Consequentemente, o k-means busca minimizar a soma das distâncias quadráticas entre cada ponto e seu centróide, garantindo a máxima coesão dentro dos grupos (Kavlakoglu & Winland, n.d.).

Além disso, é importante destacar que, no algoritmo k-means, não há variável-alvo (label) como em problemas de classificação. Em outras palavras o algoritmo k-means não prevê valores presentes no banco de dados (como na regressão logística).

Ao invés disso, o algoritmo k-means “descobre” a estrutura nos dados por similaridade. Isso o torna útil, sobretudo, para explorar perfis, identificar grupos e gerar insights preliminares sobre a estrutura dos dados.

banner da Formação em Inteligência Artificial da Psicometria Online.

Funcionamento passo a passo do algoritmo k-means

O funcionamento do algoritmo k-means é intuitivo, e compreendê-lo pode te ajudar a usar e a implementar a técnica no R ou em outro ambiente estatístico. Em síntese, o algoritmo k-means pode ser resumido em cinco etapas principais.

1. Escolher o número de clusters (k): você define de antemão o valor de k. Sim, esse ponto exige alguma fundamentação teórica e/ou empírica. Essa escolha depende de conhecimento prévio, de testes empíricos ou de métodos como o do “cotovelo” (scree plot), do coeficiente de silhueta e de índices de Calinski–Harabasz ou de Davies–Bouldin.

algoritmo k-means, etapa 1.

2. Inicializar os centróides: selecionar k pontos iniciais, aleatoriamente ou usando o método k-means++ (mais avançado, que melhora a escolha dos centróides iniciais). Observe que, daqui em diante, o processo é automatizado. Você só precisou definir o valor de k e, eventualmente, de algum outro hiperparâmetro, como quantas iterações (passo 5) serão feitas.

algoritmo k-means, etapa 2.

3. Atribuir observações aos clusters: calcular a distância (geralmente, a euclidiana) de cada ponto em relação aos ks centróides. Em seguida, atribuir cada ponto ao cluster cujo centróide está mais próximo.

algoritmo k-means, etapa 3.

4. Atualizar os centróides: para cada cluster, recalcular a média (centróide) das observações que lhe foram atribuídas; esse será o centróide atualizado de cada cluster.

algoritmo k-means, etapa 4.

5. Repetir (iterar) até a convergência: repetir os passos 3 e 4 até que ocorra convergência. Por exemplo, um critério de convergência pode ser examinar se os centróides mudam muito pouco ou se as atribuições dos pontos aos clusters se estabilizam.

algoritmo k-means, etapa 5.

    Em resumo, o processo é iterativo e converge para uma solução estável, minimizando a variabilidade interna dos grupos (within-cluster sum of squares, WCSS).

    Por fim, em termos de interpretação, cada cluster representa um subgrupo de observações semelhantes. O significado desses agrupamentos dependerá da pergunta e da área de pesquisa onde o algoritmo é aplicado.

      Limitações do algoritmo k-means

      Embora útil, o algoritmo k-means possui limitações que merecem atenção. Primeiramente, ele é sensível a outliers, pois pontos extremos podem distorcer a média e deslocar os centróides.

      Além disso, o método pressupõe grupos aproximadamente esféricos. Ou seja, ele pode falhar quando os clusters têm formatos muito distintos.

      Por fim, o resultado pode depender da inicialização dos centróides. Em outras palavras, a solução do algoritmo pode convergir a um mínimo local, dependendo da inicialização. Dessa forma, recomenda-se executar o algoritmo diversas vezes com diferentes sementes (seeds) ou empregar variações como o k-means++ para obter resultados mais estáveis.

      Principais variações do algoritmo k-means

      Atualmente, existem dezenas de variações do algoritmo k-means, formando uma extensa “família k” de algoritmos de clustering. Em seguida, apresentamos as principais variações na Tabela 1.

      Variação do algoritmoDescrição técnicaAspectos práticosExemplos
      K-means++Aperfeiçoa a escolha inicial dos centróides, por meio de seleção probabilística e distâncias maiores entre pontosAumenta a estabilidade e reduz o risco de convergência a mínimos locais ruins, embora ainda dependa da escolha de kSingh (2025)
      K-medoids (Partitioning Around Medoids, PAM)
      Usa o ponto mais central como referência (medoid), ao invés da média

      Mais robusto a outliers e adequado a dados heterogêneos, mas com custo computacional maior
      Kaufman e Rousseeuw (1990)
      K-modesAdapta o método para variáveis categóricas, substituindo médias por modasIdeal para dados qualitativos, mas sensível à codificação das categorias e à escolha da métricaCosta e Silva (2022)
      K-prototypesCombina k-means (para variáveis numéricas) e k-modes (para categóricas)Útil em bases mistas, porém exige calibrar pesos entre dimensões numéricas e categórias; diferenças de escala podem distorcer resultadosHuang (1998)
      Hierarchical + k-means híbridoIntegra métodos hierárquicos (para definir número inicial de clusters) e k-means (para refinamento final)Une visão hierárquica global e ajuste local dos clusters, mas demanda mais processamento e sensibilidade à métrica de ligaçãoMorais et al. (2024)
      Mini-batch k-meansExecuta o k-means em pequenos lotes de dados a cada iteração.Altamente escalável para big data e streaming, embora possa reduzir a precisão dos centróides em relação ao método completoScikit-Learn (n.d.)
      Tabela 1. Variações do algoritmo k-means.

      Exemplos de aplicações do algoritmo k-means em pesquisas brasileiras

      O algoritmo k-means tem sido amplamente empregado em estudos brasileiros, tanto em ciências sociais quanto em análises de políticas públicas.

      • Saúde: Alves et al. (2020) analisaram as 27 unidades federativas do Brasil usando o k-means não hierárquico com variáveis epidemiológicas (incidência, prevalência, letalidade) para agrupar estados conforme padrões de pandemia de COVID-19.
      • Segurança pública: Costa et al. (2022) aplicaram o método de clustering não supervisionado (incluindo k-means) para agrupar municípios de Pernambuco conforme indicadores diversos, com vistas a perfis territoriais em função dos tipos de crimes cometidos.
      • Finanças: Oliveira (2024) estudou os balanços patrimoniais de bancos brasileiros com k-means (distância euclidiana) para identificar grupos de instituições com modelos de negócio similares.
      • Educação: Silva (2025) aplicou o algoritmo k-means para segmentar municípios brasileiros segundo perfil educacional, usando microdados do INEP e validações com coeficiente de silhueta e método do cotovelo.

      Em síntese, esses exemplos mostram que o k-means é flexível e ocorre em diferentes domínios (saúde, segurança pública, finanças, educação) no contexto brasileiro.

      banner da Formação em IA da Psicometria Online.

      Referências

      Alves, H. J. P., Fernandes, F. A., Lima, K. P., Batista, B. D. O., & Fernandes, T. J. (2020). A pandemia da COVID-19 no Brasil: Uma aplicação do método de clusterização k-means. Research, Society and Development, 9(10), Article e5829109059. https://doi.org/10.33448/rsd-v9i10.9059

      Costa, J. C. O. R., & Silva, M. M. (2022). A clustering-based approach for identifying groups of municipalities to support the direction of public security policies. Pesquisa Operacional, 42, Article e257930. https://doi.org/10.1590/0101-7438.2022.042.00257930

      Huang, Z. (1998). Extensions to the k-means algorithm for clustering large data sets with categorical values. Data Mining and Knowledge Discovery, 2, 283–304. https://doi.org/10.1023/A:1009769707641

      Kaufman, L., & Rousseeuw, P. J. (1990). Finding groups in data: An introduction to cluster analysis. John Wiley & Sons, Inc. https://doi.org/10.1002/9780470316801

      Kavlakoglu, E., & Winland, V. (n.d.). What is k-means clustering? IBM. https://www.ibm.com/think/topics/k-means-clustering

      Morais, A. P. B., Dias, M. S., Santos, B. S., Lima, R. H. P., & Andrade, P. R. L. (2024). Clustering techniques and innovation-based comparison in Londrina and Region companies. Semina: Ciências Exatas e Tecnológicas, 45, Article e49522. https://doi.org/10.5433/1679-0375.2024.v45.49522

      Oliveira, M. (2024). Estratégias de gestão bancária no Brasil: Uma análise de clusters entre 2000 e 2022. In 52º Encontro Nacional de Economia. https://www.anpec.org.br/encontro/2024/submissao/files_I/i4-a44c414961b3b912e078406d91004f37.pdf

      Scikit-Learn. (n.d.). MiniBatchKMeans [API reference v. 1.7.2 (stable)]. https://scikit-learn.org/stable/modules/generated/sklearn.cluster.MiniBatchKMeans.html

      Silva, M. L. M. (2025). Desigualdades educacionais no Brasil: Uma análise por clusterização de indicadores educacionais e desempenho escolar [Trabalho de Conclusão de Curso, Universidade Federal do Ceará]. Repositório Institucional da UFC. http://repositorio.ufc.br/handle/riufc/80677

      Singh, A. (2025, 1 de julho). K-means clustering: A deep dive into unsupervised learning. Medium. https://medium.com/@abhaysingh71711/k-means-clustering-a-deep-dive-into-unsupervised-learning-81213f56cfc9

      Como citar este post

      Reis, A. (2025, 13 de novembro). O algoritmo k-means clustering. Blog Psicometria Online. https://blog.psicometriaonline.com.br/o-algoritmo-k-means-clustering

      Bruno Figueiredo Damásio

      Sou Psicólogo, mestre e doutor em Psicologia. Venho me dedicando à Psicometria desde 2007.

      Fui professor e chefe do Departamento de Psicometria da UFRJ durante os anos de 2013 a 2020. Fui editor-chefe da revista Trends in Psychology, da Sociedade Brasileira de Psicologia (SBP) e Editor-Associado da Spanish Journal of Psychology, na sub-seção Psicometria e Métodos Quantitativos.

      Tenho mais de 50 artigos publicados e mais de 5000 citações, nas melhores revistas nacionais e internacionais.

      Em 2020, saí da UFRJ para montar a minha formação, a Psicometria Online Academy.

      Meu foco é que você se torne um(a) pesquisador(a) de excelência. Clique aqui para conhecer a Academy.

      Compartilhe sua opinião sobre este post

      0 0 Votos
      Classificação do artigo
      Inscrever-se
      Notificar de
      guest

      0 Comentários
      mais antigos
      mais recentes Mais votado
      Feedbacks embutidos
      Ver todos os comentários

      Posts sugeridos

      Regularização: o personal trainer da Machine Learning

      Validação cruzada: sem isso, você não faz ciência de dados

      O que são Graph Neural Networks?

      Conteúdo

      Mais lidos

      O que é correlação de Pearson?

      Teste t de Student

      O que é o teste de Shapiro-Wilk?

      O que é correlação de Spearman?

      Postados recentemente

      O que são efeitos principais e efeitos de interação?

      Regularização: o personal trainer da Machine Learning

      Quais são as diferenças entre os delineamentos intrassujeitos e entressujeitos?

      Efeito teto e efeito chão: o que são e por que eles importam?

      Deseja se tornar completamente independente na análise dos seus dados?

      Junte-se a mais de 22.300 membros e receba conteúdos exclusivos e com prioridade

      Categorias