K significa agrupamento simplificado em Python

Conteúdo

Visão geral

  • O que é K significa Clustering?
  • Implementação de K significa Clustering
  • WCSS e método cotovelo para encontrar o número de clusters
  • Implementação Python do K Means Clustering

K significa é um dos algoritmos de aprendizado de máquina não supervisionados mais populares usados ​​para resolver problemas de classificação. K significa que ele segrega os dados não rotulados em vários grupos, chamados clusters, baseado em ter características semelhantes, padrões comuns.

46668k-means-clustering-algorithm-in-machine-learning-3507448

Tabela de conteúdo

  1. O que é aglomeração?
  2. O que significa o algoritmo de K?
  3. Implementação esquemática do cluster KMeans
  4. Escolha o número correto de clusters
  5. Implementação Python

1. O que é aglomeração?

Suponha que temos um número N de conjuntos de dados multivariados não rotulados de vários animais, como cães, gatos, pássaros, etc. A técnica para segregar conjuntos de dados em vários grupos, baseado em ter características e características semelhantes, isso se chama agrupamento..

Os grupos que são formados são conhecidos como Clusters. A técnica de clustering está sendo usada em vários campos, como reconhecimento de imagem, filtragem de spam

La agrupación en clústeres se utiliza en el algoritmo de Aprendizado não supervisionado en el aprendizaje automático como dados multivariados podem ser segregados em vários grupos, sem nenhum supervisor, com base em um padrão comum oculto em conjuntos de dados.

2. O que significa o algoritmo de K?

O algoritmo Kmeans é um algoritmo iterativo que divide um grupo de n conjuntos de dados em k subgrupos / clusters com base na semelhança e sua distância média do centroide desse subgrupo / formado em particular..

K, aqui está o número predefinido de clusters que o algoritmo irá formar. Se K = 3, significa que o número de clusters que serão formados a partir do conjunto de dados é 3

Etapas do algoritmo K significa

A operação do algoritmo K-Means é explicada nas etapas a seguir:

Paso 1: Selecione o valor de K para decidir o número de clusters a serem formados.

Paso 2: Selecione K pontos aleatórios que atuarão como centróides.

Paso 3: Mapeie cada ponto de dados, com base em sua distância de pontos selecionados aleatoriamente (centroide), para o centróide mais próximo / close que formará os grupos predefinidos.

Paso 4: coloque um novo centroide de cada grupo.

Paso 5: Repita o passo 3, que reatribui cada ponto de dados ao novo centroide mais próximo de cada grupo.

Paso 6: Se ocorrer alguma reatribuição, vá para o passo 4; pelo contrário, vá para o passo 7.

Paso 7: TERMINAR

3. A implementação esquemática de K significa agrupamento

PASO 1:Vamos escolher o número k de clusters, quer dizer, K = 2, para segregar o conjunto de dados e colocá-los em diferentes clusters respectivos. vamos escolher alguns 2 pontos aleatórios que atuarão como centróides para formar o grupo.

PASO 2: Ahora asignaremos cada punto de datos a un Diagrama de dispersão basado en su distancia desde el punto K o centroide más cercano. Se hará dibujando una mediana entre ambos centroides. Considere a seguinte imagem:

PASO 3: os pontos do lado esquerdo da linha estão perto do centroide azul e os pontos do lado direito da linha estão perto do centroide amarelo. O da esquerda forma um grupo com um centróide azul e o da direita com um centróide amarelo..

PASO 4:repita o processo escolhendo um novo centroide. Para escolher os novos centroides, encontraremos o novo centro de gravidade desses centróides, mostrado abaixo:

PASO 5: A seguir, vamos reatribuir cada ponto de dados ao novo centroide. Vamos repetir o mesmo processo anterior (usando uma linha mediana). O ponto de dados amarelo no lado azul da linha mediana será incluído no grupo azul

19873tb6-8189281

PASO 6: UMA medir que se haya realizado la reasignación, vamos repetir o passo anterior de encontrar novos centróides.

38346tb5-8462174

PASO 7: Vamos repetir o processo anterior de encontrar o centro de gravidade dos centróides, como é mostrado a seguir.

49556tb4-5325801

PASO 8: Depois de encontrar os novos centróides, vamos desenhar a linha mediana novamente e reatribuir os pontos de dados, como nos passos anteriores.

35981tb3-3268103

PASO 9: Finalmente, vamos segregar pontos com base na linha mediana, para que dois grupos sejam formados e nenhum ponto diferente seja incluído em um único grupo.

40672tb2-7670322

O grupo final que está sendo formado é o seguinte

96395pq-2152300

4. Escolha o número correto de clusters

O número de clusters que escolhemos para o algoritmo não deve ser aleatório. Cada cluster é formado calculando e comparando as distâncias médias de cada ponto de dados dentro de um cluster de seu centroide.

Podemos elegir el número correcto de clústeres con la ayuda del método de suma de cuadrados dentro del cacho (WCSS).

WCSS Representa a soma dos quadrados das distâncias dos pontos de dados em cada grupo de seu centroide.

A ideia principal é minimizar a distância entre os pontos de dados e o centroide dos clusters. O processo é iterado até atingir um valor mínimo para a soma das distâncias.

Para encontrar o valor ideal de clusters, método de cotovelo siga os passos abaixo:

1 Executar o agrupamento de K-medias en un conjunto de datos dado para diferentes valores de K (variando de 1 al 10).

2 Para cada valor de K, calcula o valor WCSS.

3 Plotar um gráfico / curva entre os valores WCSS e o respectivo número de clusters K.

4 O ponto afiado da curvatura ou um ponto (que se parece com uma articulação cotovelo) da trama como um braço, será considerado como o melhor / valor ideal de K

5. Implementação Python

Importar bibliotecas relevantes

import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
de sklearn.cluster import KMeans

Carregando os dados

data = pd.read_csv('Countryclusters.csv')
dados
63374snip1-8657293

Gráfico dos dados

plt.scatter(dados['Comprimento'],dados['Latitude'])
plt.xlim(-180,180)
plt.ylim(-90,90)
plt.show()
48681baixar208-2988085

Selecione o recurso

 x = data.iloc[:,1:3] # 1t for rows and second for columns
x
46942snip2-9206832

Agrupamento

kmeans = KMeans(3)
significa.fit(x)

Resultados de agrupamento

identified_clusters = kmeans.fit_predict(x)
identified_clusters
variedade([1, 1, 0, 0, 0, 2])
data_with_clusters = data.copy()
data_with_clusters['Clusters'] = identified_clusters 
plt.scatter(data_with_clusters['Comprimento'],data_with_clusters['Latitude'],c=data_with_clusters['Clusters'],cmap='arco-íris')
73075baixar209-8093241

Tente um método diferente (para encontrar não. De grupos para selecionar)

Método WCSS e cotovelo

wcss=[]
para eu no alcance(1,7):
kmeans = KMeans(eu)
kmeans.fit(x)
wcss_iter = kmeans.inertia_
wcss.append(wcss_iter)

number_clusters = alcance(1,7)
plt.plot(number_clusters,wcss)
plt.title('O título do Cotovelo')
plt.xlabel('Número de clusters')
plt.ylabel('WCSS')
38785download2010-9638209

podemos escolher 3 É claro. de conglomerados, este método mostra o que o bom número de clusters são.

Com isso eu termino este blog.
Olá a todos, Namaste
Meu nome é Pranshu Sharma e sou um entusiasta da ciência de dados
Muito obrigado por dedicar seu valioso tempo para ler este blog.. Sinta-se à vontade para apontar quaisquer erros (depois de tudo, eu sou um aprendiz) e fornecer os comentários correspondentes ou deixar um comentário.
Dhanyvaad !!
Comentários:
Correio eletrônico: [e-mail protegido]

A mídia mostrada neste artigo não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.