Raggruppamento di K-calze | Clustering di K-Means con R per Data Scientist

Contenuti

introduzione

Gli algoritmi di apprendimento automatico sono classificati in tre tipi: apprendimento supervisionato, apprendimento non supervisionato e apprendimento rinforzato. Il clustering di mezzi K è una tecnica di apprendimento automatico non supervisionata. Quando l'uscita o la variabile di risposta non è fornita, questo algoritmo viene utilizzato per classificare i dati in diversi gruppi per comprenderli meglio. Conosciuto anche come approccio di apprendimento automatico basato sui dati, poiché raggruppa i dati in base a modelli nascosti, conoscenze e somiglianze nei dati.

Considera il seguente diagramma: se ti viene chiesto di raggruppare le persone nella foto in diversi gruppi o gruppi e non sai nulla di loro, cercherò sicuramente di individuare le qualità, caratteristiche o attributi fisici che queste persone condividono. Dopo aver osservato queste persone, si conclude che possono essere segregati in base alla loro altezza e larghezza; dal momento che non hai alcuna conoscenza preliminare di queste persone. K significa che il clustering esegue un lavoro approssimativamente equivalente. Prova a classificare i dati in gruppi in base a somiglianze e schemi nascosti. “K” in clustering di K-mean si riferisce al numero di cluster che l'algoritmo genererà nei dati.

K-Mezzi raggruppamento: Come funziona?

1) L'algoritmo sceglie arbitrariamente il numero k di centroidi, come indicato in figura 1 dal diagramma seguente. Dove k è il numero di cluster che l'algoritmo creerebbe. Diciamo che vogliamo che l'algoritmo crei due gruppi dai dati, quindi imposteremo il valore di k a 2.

2) Quindi raggruppare i dati in due parti utilizzando le distanze calcolate da entrambi i centroidi., come illustrato in Figura 2. La distanza di ogni punto da entrambi i centroidi viene calcolata singolarmente e successivamente verrà aggiunta al gruppo di quel centroide con cui viene calcolata la distanza. più corto.

L'algoritmo disegna anche una linea che unisce i centroidi e una linea perpendicolare che cerca di raggruppare i dati in due gruppi.

3) Una volta che tutti i punti dati sono stati raggruppati in base alle loro distanze minime dai corrispondenti centroidi, l'algoritmo calcola la media di ciascun gruppo. Quindi vengono confrontati i valori medi e del baricentro di ciascun gruppo. Se il valore del baricentro è diverso dalla media, quindi il baricentro viene spostato al valore medio del gruppo. Sia il baricentro “rosso” Come la “blu” sono ricollocati sulla media del gruppo in figura 3 dal diagramma seguente.

Raggruppa i dati ancora una volta usando questi centroidi aggiornati. A causa del cambiamento nelle posizioni dei baricentri, alcuni punti dati possono ora essere spostati nell'altro gruppo.

4) Ancora, calcola la media e la confronta con il baricentro dei gruppi appena generati. Se entrambi sono diversi, il baricentro verrà riposizionato nella media del gruppo. Questo processo di calcolo della media e confronto con il baricentro viene ripetuto finché i valori del baricentro e della media sono uguali. (valore del centroide = media di gruppo). Questo è il punto in cui l'algoritmo ha segmentato i dati in "gruppi K"’ (2 in questo caso).

3965834513k20 significa-1287622

Come scoprire qual è il valore ottimale di k?

Il primo passo è fornire un valore per k. Ogni passo successivo eseguito dall'algoritmo è completamente dipendente dal valore specificato di k. Questo valore di k aiuta l'algoritmo a determinare il numero di cluster da generare. Ciò sottolinea l'importanza di fornire il valore preciso di k. Qui, un metodo noto come “metodo del gomito” per determinare il valore corretto di k. Questo è un grafico di 'Numero di cluster K’ contro “Totale all'interno della somma dei quadrati”. I valori discreti di k sono tracciati sull'asse x, mentre le somme dei quadrati dei gruppi sono tracciate sull'asse y.

La somma delle distanze al quadrato tra i singoli punti e il baricentro in ciascun gruppo, seguito dalla somma delle distanze al quadrato per tutti i cluster, Si chiama "Somma dei quadrati all'interno del cluster". Sarai in grado di capirlo con l'aiuto dei seguenti passaggi.

1) Calcola la distanza tra il baricentro e ogni punto del gruppo, quadrato e poi aggiungi le distanze al quadrato per tutti i punti nel gruppo.

2) Calcola allo stesso modo la somma dei quadrati delle distanze dei restanti gruppi.

3) Finalmente, sommare tutte le somme dei gruppi per ottenere il valore della "Somma dei quadrati all'interno del gruppo" come mostrato nella figura seguente.

914581_vnsfrduvgn9ytjlnxlgw8a-5800821

Src: https://images.app.goo.gl/cVZUiomiGGqKK7SV8

Il “totale all'interno della somma dei quadrati” inizia a diminuire all'aumentare del valore di k. Il grafico tra il numero di cluster e il totale all'interno della somma dei quadrati è mostrato nella figura seguente. Il numero ottimale di cluster, o il valore corretto di k, è il punto in cui il valore inizia a diminuire lentamente; questo è noto come “punto del gomito”, e il punto del gomito nel grafico seguente è k = 4. Il “Metodo del gomito” prende il nome dalla somiglianza del grafico al gomito, e il punto ottimale per “K” è il punto del gomito .

Vantaggi del clustering di mezzi k

1) I dati taggati non sono obbligatori. Poiché molti dati del mondo reale non sono etichettati, di conseguenza, sono frequentemente utilizzati in una varietà di affermazioni di problemi del mondo reale.

2) È facile da implementare.

3) Può gestire enormi quantità di dati.

4) Quando i dati sono grandi, lavorare più velocemente del raggruppamento gerarchico (per k piccoli).

Svantaggi del clustering di mezzi K

1) Il valore di K deve essere selezionato manualmente tramite il tasto “metodo del gomito”.

2) La presenza di valori anomali avrebbe un impatto negativo sul raggruppamento. Di conseguenza, i valori anomali devono essere rimossi prima di utilizzare il raggruppamento k-means.

3) I gruppi non si intersecano; un punto può appartenere solo a un gruppo alla volta. A causa della mancanza di sovrapposizione, alcuni punti sono inseriti in gruppi sbagliati.

K significa raggruppamento con R

  • Importeremo le seguenti librerie nel nostro lavoro.

biblioteca (intercalazione)
biblioteca (ggplot2)
biblioteca (dplyr)

  • Lavoreremo con i dati dell'iride, contenente tre classi: “Iris-setosa”, “Iris-versicolor” e “Iris-verginica”.

dati <- leggi.csv (&quot;iride.csv&quot;, intestazione = T)

  • Vediamo come queste tre classi sono correlate tra loro. Le specie “Iris-versicolor” (verde) e “Iris-verginica” (blu) non sono linearmente separabili. Come puoi vedere nel grafico qui sotto, si mescolano.

dati%>% ggplot (aes (SepaloLunghezzaCm, SepaloLarghezzaCm, colore = specie)) +
geom_point ()

66251trama-4009732

  • Dopo aver rimosso la colonna delle specie dai dati. Ora useremo il grafico del metodo del gomito tra “Somma dei quadrati all'interno del cluster” e “valori K” per determinare il valore appropriato di k. K = 3 è il miglior valore per k in questo caso (Nota: ci sono 3 classi nei dati originali dell'iride, che garantisce la precisione del valore di k).

dati <- dati[, -5]
massimo <- 10
scala <- scala (dati)
wss <- sapply (1: massimo, funzione (K) {km significa (scala, K, nstart = 50, iter.max = 15) $ tot.all'interno})
complotto (1: max, wss, tipo = “B”, xlab = “valori k”)
abline (v = 3)

97997rplot04-6186413

  • Per k = 3, applicare l'algoritmo di clustering delle medie K. L'approccio K-means clustering spiega il 71,5% della variabilità dei dati in questo caso.

km <- kmedias (dati[,1:2], k = 3, iter.max = 50)
km

17950screenshot202021-05-2620at207-08-1220pm-5465633
  • Vediamo come le tre classi sono raggruppate raggruppando k-mezzi. K-significa che il clustering non creerà cluster sovrapposti, come sappiamo tutti. Poiché la specie “verde” e “blu” non sono linearmente separabili nei dati originali, il raggruppamento di k-mean non ha potuto catturarlo perché ha gruppi ridotti.

km $ grappolo <- come.fattore (km $ grappolo)
dati%>% ggplot (aes (SepaloLunghezzaCm, SepaloLarghezzaCm, colore = km $ grappolo)) +
geom_point ()

78423rplot02-9963525

Un articolo di ~

Shivam Sharma.

Il supporto mostrato in questo articolo sull'algoritmo di raggruppamento K-Means 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.