Dificuldade ★★★
2 minutos de Leitura 🕒
O K-means é um algoritmo de aprendizado de máquina não-supervisionado proposto por Hugo Steinhaus em 1956 que agrupa dados similares em clusters. Ele funciona de forma iterativa, escolhendo k
centroides, atribuindo cada ponto de dados ao centroide mais próximo e recalculando os centroides até que não haja mais mudanças ou um número máximo de iterações seja atingido.
Segmentação de Clientes – O K-Means pode ser usado para agrupar clientes com base em suas características, permitindo que as empresas personalizem suas campanhas de marketing para cada grupo.
Agrupamento de Notícias – O K-Means pode ser usado para agrupar notícias em categorias com base no seu conteúdo, tornando mais fácil para os usuários encontrar notícias relevantes.
Detecção de Fraudes – O K-Means pode ser usado para detectar transações suspeitas agrupando transações semelhantes e identificando aquelas que são diferentes do grupo.
Análise de Imagens – O K-Means pode ser usado para segmentar imagens em regiões com características semelhantes, facilitando a análise de padrões em imagens.
Bioinformática: O K-Means pode ser usado para agrupar proteínas ou genes com base em suas características, permitindo que os cientistas identifiquem novas descobertas na área da biologia molecular.
k
para o número de clusters desejados.k
clusters.k
clusters, onde cada ponto de dados pertence a um cluster específico.O desempenho do algoritmo K-Means é afetado por diversos fatores, como a escolha do número de clusters k
, as características do conjunto de dados, a escolha inicial dos centroides e o número de iterações. Em geral, a complexidade do algoritmo é polinomial, em função do número de pontos n
, dimensão d
dos dados, do número de clusters k
e o número de iterações i
:
O(ndki)
operações de ponto flutuante.Veja o código completo no GitHub.