K significa raggruppamento semplificato in 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 problemi 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 numero correcto de clústeres
  5. Implementazione Python

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

Supponiamo di avere un numero N di insiemi di dati multivariati non etichettati di diversi animali come cani, gatti, uccelli, eccetera. La tecnica per separare insiemi di dati in diversi gruppi, sulla base di avere caratteristiche e attributi simili, si chiama Clustering..

I gruppi che si formano sono conosciuti come Cluster. La tecnica di clustering viene utilizzata in diversi campi, como el reconocimiento de imágenes, il filtraggio della posta indesiderata

Il clustering viene utilizzato nell'algoritmo di Apprendimento non supervisionato nell'apprendimento automatico come si possono separare dati multivariati in diversi gruppi, senza alcun supervisore, sulla base di un modello comune nascosto all'interno degli insiemi di dati.

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

L'algoritmo K-means è un algoritmo iterativo che suddivide un insieme di n dati in k sottogruppi / cluster in base alla somiglianza e alla distanza media dal centroide di quel sottogruppo / formato in particolare..

K, Qui è indicato il numero predefinito di cluster che formerà l'algoritmo. Se K = 3, significa che il numero di cluster che si formeranno dall'insieme di dati è 3

Passaggi dell'algoritmo K-means

Il funzionamento dell'algoritmo K-Means è spiegato nei seguenti passaggi:

passo 1: Selezionare il valore di K per decidere il numero di cluster che si formeranno.

passo 2: Selezionare K punti casuali che agiranno come centroidi.

passo 3: Assegnare ogni punto dati, in base alla sua distanza dai punti selezionati a caso (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 reassigna 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 punti 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 distance desde el punto K o centroide más cercano. Se hará dibujando una mediano tra entrambi i centroidi. 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: A medida 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 modo che 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 numero 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 il numero respectivo de conglomerados K.

4 Il punto acuto di curvatura o un punto (che sembra una articolazione del gomito) della trama come un braccio, sarà considerato come il miglior / valore ottimale di K

5. Implementazione Python

Importare le librerie rilevanti

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

Tracciare i dati

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

Selezionare la funzione

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

Raggruppamento

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

Risultati del clustering

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

Provare un metodo diverso (per trovare non. Grupchi per selezionare)

WCSS e metodo del gomito

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 titolo')
plt.xlabel('Numero di cluster')
plt.ylabel('WCSS')
38785download2010-9638209

podemos elegir 3 como no. de conglomerados, este metodo mostra cuál es el buen numero de conglomerados.

Con questo chiudo questo blog..
Ciao a tutti, Namaste
Mi nombre es Pranshu Sharma y soy un entusiasta de la scienza 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.

Altoparlante dati