Clustering

Concluído

Clustering é uma forma de machine learning não supervisionado no qual as observações são agrupadas em clusters com base em semelhanças em seus valores de dados ou recursos. Esse tipo de machine learning é considerado não supervisionado porque não usa valores de rótulos conhecidos anteriormente para treinar um modelo. Em um modelo de clustering, o rótulo é o cluster ao qual a observação é atribuída com base apenas em seus recursos.

Exemplo - clustering

Por exemplo, suponha que um botânico observe uma amostra de flores e registra o número de folhas e pétalas em cada flor:

Diagram of some flowers.

Não há rótulos conhecidos no conjunto de dados, apenas dois recursos. O objetivo não é identificar os diferentes tipos (espécies) de flores; apenas agrupar flores semelhantes com base no número de folhas e pétalas.

Folhas (x1) Pétalas (x2)
0 5
0 6
1 3
1 3
1 6
1 8
2 3
2 7
2 8

Treinando um modelo de clustering

Há vários algoritmos que você pode usar para clustering. Um dos algoritmos mais usados é o cluster K-means, que consiste nas seguintes etapas:

  1. Os valores dos recursos (x) são vetorizados para definir coordenadas n-dimensionais (onde n é o número de recursos). No exemplo da flor, temos dois recursos: número de folhas (x1) e número de pétalas (x2). O vetor de recursos tem, portanto, duas coordenadas, que podem ser usadas para plotar conceitualmente os pontos de dados em um espaço bidimensional ([x1,x2])
  2. Você decide quantos clusters deseja usar para agrupar as flores - chame esse valor k. Por exemplo, para criar três clusters, você usaria um valor de k de 3. Em seguida, os pontos k são plotados em coordenadas aleatórias. Esses se tornam os pontos centrais de cada cluster e são chamados de centroides.
  3. Cada ponto de dados (nesse caso, uma flor) é atribuído ao seu centroide mais próximo.
  4. Cada centroide é movido para o centro dos pontos de dados atribuídos a ele com base na distância média entre os pontos.
  5. Depois que o centroide é movido, os pontos de dados podem estar mais próximos de um centroide diferente, portanto, os pontos de dados são reatribuídos aos clusters com base no novo centroide mais próximo.
  6. As etapas de movimentação de centroide e realocação de cluster são repetidas até que os clusters se tornem estáveis ou um número máximo de iterações predeterminado seja atingido.

A seguinte animação mostra esse processo:

Diagram of an animation showing the k-means clustering process.

Avaliando um modelo de clustering

Como não há um rótulo conhecido com o qual comparar as atribuições de cluster previstas, a avaliação de um modelo de clustering se baseia em quão bem os clusters resultantes são separados uns dos outros.

Há várias métricas que você pode usar para avaliar a separação de cluster, incluindo:

  • Distância média para o centro do cluster: Qual a proximidade, em média, de cada ponto do cluster em relação ao centroide do cluster.
  • Distância média para o outro centro: Qual a proximidade, em média, de cada ponto do cluster em relação aos centroides de todos os outros clusters.
  • Distância máxima até o centro do cluster: A maior distância mais distante entre um ponto do cluster e seu centroide.
  • Silhueta: Um valor entre -1 e 1 que resume a proporção da distância entre pontos no mesmo cluster e pontos em clusters diferentes (quanto mais próximo de 1, melhor a separação do cluster).