Agrupamento K-means
O agrupamento K-means é o algoritmo de agrupamento mais popular usado para agrupar pontos de dados semelhantes em um conjunto de dados. O algoritmo funciona selecionando inicialmente um valor k, que representa o número de aglomerados ou grupos que queremos identificar nos dados.
Vamos descrever brevemente todas as etapas da operação deste algoritmo:
Etapa 1. O algoritmo inicializa k pontos aleatórios no conjunto de dados, chamados centróides.
Passo 2. Cada ponto de dados é então atribuído ao centróide mais próximo com base em uma métrica de distância, como a distância euclidiana. Esse processo cria k clusters, com cada cluster consistindo dos pontos de dados que estão mais próximos ao centróide.
Passo 3. Os centróides são movidos para o centro de cada cluster.
Passo 4. Os passos 2 e 3 são repetidos. O algoritmo atualiza os centroides iterativamente e reatribui os pontos de dados até a convergência, quando os centroides não se movem mais.
Podemos ver que este algoritmo é bastante simples e intuitivo, mas possui algumas desvantagens graves:
- precisamos escolher manualmente o número de clusters.
- o algoritmo depende dos valores iniciais dos centroides.
- o algoritmo é altamente afetado por outliers.
Vamos dar uma olhada na implementação do K-means em Python:
No código acima, utilizamos o seguinte:
- Classe
Kmeans
desklearn.cluster
. O parâmetron_clusters
determina o número de agrupamentos nos dados. - O método
.fit(X)
da classeKmeans
ajusta nosso modelo - determina os agrupamentos e seus centros de acordo com os dados X. - O atributo
.labels_
da classeKMeans
armazena os números dos agrupamentos para cada amostra dos dados de treinamento (agrupamento 0, agrupamento 1, agrupamento 2, ...). - O atributo
.cluster_centers_
da classeKMeans
armazena as coordenadas dos centros dos agrupamentos ajustados pelo algoritmo. - O método
.predict()
da classeKmeans
é usado para prever as etiquetas de novos pontos.
Tudo estava claro?
Conteúdo do Curso
Cluster Analysis
1. O que é Agrupamento?
3. Como escolher o melhor modelo?
Cluster Analysis
Agrupamento K-means
O agrupamento K-means é o algoritmo de agrupamento mais popular usado para agrupar pontos de dados semelhantes em um conjunto de dados. O algoritmo funciona selecionando inicialmente um valor k, que representa o número de aglomerados ou grupos que queremos identificar nos dados.
Vamos descrever brevemente todas as etapas da operação deste algoritmo:
Etapa 1. O algoritmo inicializa k pontos aleatórios no conjunto de dados, chamados centróides.
Passo 2. Cada ponto de dados é então atribuído ao centróide mais próximo com base em uma métrica de distância, como a distância euclidiana. Esse processo cria k clusters, com cada cluster consistindo dos pontos de dados que estão mais próximos ao centróide.
Passo 3. Os centróides são movidos para o centro de cada cluster.
Passo 4. Os passos 2 e 3 são repetidos. O algoritmo atualiza os centroides iterativamente e reatribui os pontos de dados até a convergência, quando os centroides não se movem mais.
Podemos ver que este algoritmo é bastante simples e intuitivo, mas possui algumas desvantagens graves:
- precisamos escolher manualmente o número de clusters.
- o algoritmo depende dos valores iniciais dos centroides.
- o algoritmo é altamente afetado por outliers.
Vamos dar uma olhada na implementação do K-means em Python:
No código acima, utilizamos o seguinte:
- Classe
Kmeans
desklearn.cluster
. O parâmetron_clusters
determina o número de agrupamentos nos dados. - O método
.fit(X)
da classeKmeans
ajusta nosso modelo - determina os agrupamentos e seus centros de acordo com os dados X. - O atributo
.labels_
da classeKMeans
armazena os números dos agrupamentos para cada amostra dos dados de treinamento (agrupamento 0, agrupamento 1, agrupamento 2, ...). - O atributo
.cluster_centers_
da classeKMeans
armazena as coordenadas dos centros dos agrupamentos ajustados pelo algoritmo. - O método
.predict()
da classeKmeans
é usado para prever as etiquetas de novos pontos.
Tudo estava claro?