K significa agrupamiento simplificado en Python

Contenuti

Panoramica

  • Che cos'è K sta per Clustering??
  • Implementación de K significa Clustering
  • WCSS y método de codo para encontrar el número de conglomerados
  • Implementación de Python de K significa Clustering

K means es uno de los algoritmos de aprendizaje automático no supervisados ​​más populares utilizados para resolver problemas de clasificación. K Significa que segrega los datos sin etiquetar en varios grupos, llamados clústeres, en función de tener características similares, patrones comunes.

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

Sommario

  1. ¿Qué es la agrupación en clústeres?
  2. ¿Qué es el algoritmo de K significa?
  3. Implementación esquemática de la agrupación en clústeres de KMeans
  4. Elegir el número correcto de clústeres
  5. Implementazione Python

1. ¿Qué es la agrupación en clústeres?

Supongamos que tenemos un número N de conjuntos de datos multivariados sin etiquetar de varios animales como perros, gatos, pájaros, eccetera. La técnica para segregar conjuntos de datos en varios grupos, sobre la base de tener características y características similares, se denomina Clustering..

Los grupos que se forman se conocen como Clusters. La técnica de agrupación en clústeres se está utilizando en varios campos, como el reconocimiento de imágenes, el filtrado de correo no deseado

La agrupación en clústeres se utiliza en el algoritmo de aprendizaje no supervisado en el aprendizaje automático como se pueden segregar datos multivariados en varios grupos, sin ningún supervisor, sobre la base de un patrón común oculto dentro de los conjuntos de datos.

2. ¿Qué es el algoritmo de K significa?

El algoritmo Kmeans es un algoritmo iterativo que divide un grupo de n conjuntos de datos en k subgrupos / clústeres en función de la similitud y su distancia media desde el centroide de ese subgrupo / formado en particular..

K, aquí está el número predefinido de clusters que formará el algoritmo. Si K = 3, significa que el número de conglomerados que se formarán a partir del conjunto de datos es 3

Pasos del algoritmo de K medias

El funcionamiento del algoritmo K-Means se explica en los siguientes pasos:

passo 1: Seleccione el valor de K para decidir el número de conglomerados que se formarán.

passo 2: Seleccione K puntos aleatorios que actuarán como centroides.

passo 3: Asigne cada punto de datos, en función de su distancia desde los puntos seleccionados al azar (centroide), al centroide más cercano / cercano que formará los grupos predefinidos.

passo 4: coloque un nuevo centroide de cada grupo.

passo 5: Ripetere il passaggio 3, que reasigna cada punto de datos al nuevo centroide más cercano de cada grupo.

passo 6: Si ocurre alguna reasignación, vaya al paso 4; altrimenti, vaya al paso 7.

passo 7: TERMINAR

3. Implementación esquemática de la agrupación en clústeres de K medias

PASO 1:Elijamos el número k de conglomerados, vale a dire, K = 2, para segregar el conjunto de datos y colocarlos en diferentes conglomerados respectivos. Elegiremos algunos 2 puntos aleatorios que actuarán como centroide para formar el grupo.

PASO 2: Ahora asignaremos cada punto de datos a un Diagramma di dispersione basado en su distancia desde el punto K o centroide más cercano. Se hará dibujando una mediano entre ambos centroides. Considera la seguente immagine:

PASO 3: los puntos del lado izquierdo de la línea están cerca del centroide azul y los puntos a la derecha de la línea están cerca del centroide amarillo. El de la izquierda forma un grupo con centroide azul y el de la derecha con el centroide amarillo.

PASO 4:repita el proceso eligiendo un nuevo centroide. Per scegliere i nuovi centroidi, encontraremos el nuevo centro de gravedad de estos centroides, mostrato sotto:

PASO 5: Prossimo, reasignaremos cada punto de datos al nuevo centroide. Repetiremos el mismo proceso anterior (usando una línea mediana). El punto de datos amarillo en el lado azul de la línea mediana se incluirá en el grupo azul

19873tb6-8189281

PASO 6: UN misura que se haya realizado la reasignación, repetiremos el paso anterior de encontrar nuevos centroides.

38346tb5-8462174

PASO 7: Repetiremos el proceso anterior de encontrar el centro de gravedad de los centroides, come mostrato di seguito.

49556tb4-5325801

PASO 8: Después de encontrar los nuevos centroides, dibujaremos nuevamente la línea mediana y reasignaremos los puntos de datos, como en los pasos anteriores.

35981tb3-3268103

PASO 9: Finalmente, segregaremos puntos basados ​​en la línea mediana, de manera que se formen dos grupos y ningún punto diferente se incluya en un solo grupo.

40672tb2-7670322

El grupo final que se está formando es el siguiente

96395pq-2152300

4. Elegir el número correcto de clústeres

El número de clústeres que elegimos para el algoritmo no debe ser aleatorio. Todos y cada uno de los conglomerados se forman calculando y comparando las distancias medias de cada punto de datos dentro de un conglomerado desde su centroide.

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

WCSS Representa la suma de los cuadrados de las distancias de los puntos de datos en todos y cada uno de los grupos desde su centroide.

La idea principal es minimizar la distancia entre los puntos de datos y el centroide de los conglomerados. El proceso se itera hasta alcanzar un valor mínimo para la suma de distancias.

Para encontrar el valor óptimo de los clústeres, el método del codo sigue los pasos a continuación:

1 Eseguire il comando raggruppamento de K-medias en un conjunto de datos dado para diferentes valores de K (que van del 1 al 10).

2 Per ogni valore di K, calcula el valor WCSS.

3 Traza un gráfico / curva entre los valores WCSS y el número respectivo de conglomerados K.

4 El punto agudo de curvatura o un punto (que parece una articulación del codo) de la trama como un brazo, se considerará como el mejor / óptimo valor de K

5. Implementazione 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()
da sklearn.cluster importa KMeans

Caricamento dei dati

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

Graficar los datos

plt.scatter(dati['Longitude'],dati['Latitude'])
plt.xlim(-180,180)
plt.ylim(-90,90)
plt.mostra()
48681download208-2988085

Seleccionar la función

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

Raggruppamento

kmsignifica = KMezzi(3)
means.fit(X)

Resultados de la agrupación en clústeres

identified_clusters = kmeans.fit_predict(X)
identified_clusters
Vettore([1, 1, 0, 0, 0, 2])
data_with_clusters = data.copy()
data_with_clusters['Clusters'] = identified_clusters 
plt.scatter(data_with_clusters['Longitude'],data_with_clusters['Latitude'],c=data_with_clusters['Clusters'],cmap='rainbow')
73075download209-8093241

Probar un método diferente (para encontrar no. De grupos para seleccionar)

WCSS y método del codo

wcss=[]
per io nel raggio d'azione(1,7):
kmsignifica = KMezzi(io)
kmeans.fit(X)
wcss_iter = kmeans.inertia_
wcss.append(wcss_iter)

number_clusters = range(1,7)
plt.trama(number_clusters,wcss)
plt.titolo('The Elbow title')
plt.xlabel('Numero di cluster')
plt.ylabel('WCSS')
38785download2010-9638209

podemos elegir 3 como no. de conglomerados, este método muestra cuál es el buen número de conglomerados.

Con questo chiudo questo blog..
Ciao a tutti, Namaste
Mi nombre es Pranshu Sharma y soy un entusiasta de la ciencia de datos
Grazie mille per aver dedicato del tuo tempo prezioso a leggere questo blog.. Sentiti libero di segnalare eventuali errori (Dopotutto, sono un apprendista) e fornire i commenti corrispondenti o lasciare un commento.
Dhanyvaad !!
Feedback:
E-mail: [e-mail protetta]

Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.