src/algorithms/ml/k-means/README.pt-BR.md
Leia isso em outros idiomas: English
O algoritmo k-Means é um algoritmo de aprendizado de máquina não supervisionado. É um algoritmo de agrupamento, que agrupa os dados da amostra com base na semelhança entre as dimensões dos vetores.
Na classificação k-Means, a saída é um conjunto de classes atribuídas a cada vetor. Cada localização de cluster é continuamente otimizada para obter as localizações precisas de cada cluster de forma que representem cada grupo claramente.
A ideia é calcular a similaridade entre a localização do cluster e os vetores de dados e reatribuir os clusters com base nela. Distância Euclidiana é usado principalmente para esta tarefa.
Fonte: Wikipedia
O algoritmo é o seguinte:
k com pontos k iniciais/aleatóriosAqui está uma visualização do agrupamento k-Means para melhor compreensão:
Fonte: Wikipedia
Os centroides estão se movendo continuamente para criar uma melhor distinção entre os diferentes conjuntos de pontos de dados. Como podemos ver, após algumas iterações, a diferença de centroides é bastante baixa entre as iterações. Por exemplo, entre as iterações 13 e 14 a diferença é bem pequena porque o otimizador está ajustando os casos limite.