Introduzione al cluster gerarchico in R
Il clustering gerarchico in R è la forma di apprendimento più comune. Il clustering è uno degli algoritmi dell'apprendimento automatico che prende le inferenze dai dati senza etichetta.
Esistono principalmente due tipi di algoritmo di apprendimento automatico:
- Algoritmi di apprendimento supervisionato
- Algoritmi di apprendimento senza supervisione
Gli algoritmi di apprendimento supervisionato sono una categoria di un algoritmo di apprendimento automatico in cui la macchina apprende dai dati etichettati. Un esempio di algoritmi di apprendimento supervisionato è la classificazione e la regressione. Gli algoritmi di apprendimento senza supervisione sono una categoria di un algoritmo di apprendimento automatico in cui la macchina apprende dai dati senza etichetta. Un esempio di algoritmi di apprendimento senza supervisione sono gli algoritmi di clustering.
Come funziona il clustering?
Gli algoritmi di clustering raggruppano un insieme di punti di dati simili in cluster. L'obiettivo principale dell'algoritmo di clustering è quello di creare cluster di punti dati simili nelle funzionalità. In altre parole, i punti dati all'interno di un cluster sono simili e i punti dati in un cluster sono diversi dai punti dati in un altro cluster.
Nell'algoritmo di clustering gerarchico esistono principalmente due approcci, come indicato di seguito:
1. Agglomerativo
Inizia con ogni osservazione in un singolo cluster e, sulla base della misura della somiglianza nell'osservazione, unisce ulteriormente i cluster per formare un singolo cluster fino a quando non è più possibile fondersi, questo approccio è chiamato approccio agglomerativo.
2. Divisivo
Si inizia con tutte le osservazioni in un singolo cluster e si divide ulteriormente in base alla misura di somiglianza o alla misura di dissomiglianza fino a quando non è possibile dividere, questo approccio è chiamato un metodo di divisione.
Ora iniziamo gli algoritmi di clustering gerarchico, il clustering gerarchico può essere eseguito top-down o bottom-up. Iniziamo con un approccio dal basso verso l'alto o agglomerato, in cui iniziamo a creare un cluster per ciascun punto dati e quindi uniamo i cluster in base a una misura di somiglianza nei punti dati. Il prossimo punto importante è che come possiamo misurare la somiglianza. Ci sono molte matrici di distanza disponibili come Euclidean, Jaccard, Manhattan, Canberra, Minkowski ecc. Per trovare la misura della dissomiglianza. La scelta della matrice di distanza dipende dal tipo di set di dati disponibile, ad esempio, se il set di dati contiene valori numerici continui, la buona scelta è la matrice di distanza euclidea, mentre se il set di dati contiene dati binari la buona scelta è Jaccard matrice di distanza e così via.
Implementazione del cluster gerarchico in R
I passaggi necessari per eseguire l'implementazione del clustering gerarchico in R sono:
1. Installa tutti i pacchetti R richiesti
Utilizzeremo i pacchetti seguenti, quindi installa tutti questi pacchetti prima di utilizzare:
install.packages ( "cluster" ) # for clustering algorithms
install.packages ( "tidyverse" ) # for data manipulation
install.packages ( "factoextra" ) # for clustering visualization
# includes package in R as –
library ( "cluster" )
library( "tidyverse" )
library( "factoextra" )
2. Preparazione dei dati
I dati Preparati per l'analisi dei cluster gerarchici, questo passaggio è molto semplice e importante, dobbiamo principalmente svolgere due attività qui che stanno ridimensionando e stimando il valore mancante. I dati devono essere ridimensionati, standardizzati o normalizzati per rendere comparabili le variabili. Il ridimensionato o standardizzato o normalizzato è un processo di trasformazione delle variabili in modo tale che dovrebbero avere una deviazione standard una e significare zero.
Se nel nostro set di dati è presente un valore mancante, è molto importante imputare il valore mancante o rimuovere il punto dati stesso. Sono disponibili diverse opzioni per imputare il valore mancante come media, media, valore mediano per stimare il valore mancante. Ad esempio, qui utilizziamo il set di dati incorporato dell'iride, in cui vogliamo raggruppare il tipo di piante dell'iride, il set di dati dell'iride contiene 3 classi per ogni classe 50 istanze. Contiene 5 funzioni come Sepal. Lunghezza, Sepal.Width, Petal.Length, Petal.Width e Species.
Il codice R:
data <- iris
print(data)
# the sample of data set showing below which contain 1 sample for each class
"Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Specie"
1 4, 9 3, 5 1, 3 0, 2 setosa
51 7.0 3.1 4.5 1.3 Versicolor
101 6, 3 3, 2 6, 0 1, 9 Virginia
data <- na.omit(data) # remove missing value
data <- scale(df) # scaling the variables or features
3. Specificare quali algoritmi di cluster gerarchici utilizzano
I diversi tipi di algoritmi di clustering gerarchico come cluster gerarchico agglomerativo e cluster gerarchico divisivo sono disponibili in R. Le funzioni richieste sono:
- Clustering gerarchico agglomerativo (HC): funzione hclust disponibile nel pacchetto stats e funzione Agnes disponibile nel pacchetto cluster) per
- Clustering gerarchico divisivo: funzione Diana disponibile nel pacchetto cluster.
4. Calcolo del clustering gerarchico
Per calcolare il clustering gerarchico è necessario calcolare la matrice della distanza e posizionare il punto dati nel cluster corretto. Esistono diversi modi per calcolare la distanza tra il cluster, come indicato di seguito:
Collegamento completo: la distanza massima viene calcolata tra i cluster prima della fusione.
Collegamento singolo: la distanza minima viene calcolata tra i cluster prima della fusione.
Collegamento medio: calcola la distanza media tra i cluster prima della fusione.
Codice R:
cluster <- hclust(data, method = "average" )
Collegamento centroidale : la distanza tra i due centroidi dei cluster viene calcolata prima della fusione.
Codice R:
# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
cluster <- hclust(data, method = "complete" )
# or Compute with agnes
cluster <- agnes(data, method = "complete")
5. Dendrogrammi
Il dendrogramma viene utilizzato per gestire il numero di cluster ottenuti. Si comporta come in k-significa che k esegue per controllare il numero di cluster. La funzione corrente che possiamo usare per tagliare il dendrogramma.
Codice R:
cutree(as.hclust(cluster), k = 3)
Il codice R completo:
ibrary(scatterplot3d)
data <- iris
print( data )
data <- na.omit(data)
data <- scale(data)
# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# creating hierarchical clustering with Complete Linkage
cluster <- hclust(data, method = "complete" )
# Dendrogram plot
plot(cluster)
# or agnes can be used to compute hierarchical clustering
Cluster2 <- agnes(data, method = "complete")
# Dendrogram plot
plot(cluster2)
La trama del codice R sopra:
Conclusione
Esistono principalmente due tipi di algoritmi di apprendimento automatico algoritmi di apprendimento supervisionato e algoritmi di apprendimento non supervisionato. Gli algoritmi di clustering sono un esempio di algoritmi di apprendimento senza supervisione. Gli algoritmi di clustering raggruppano un insieme di punti di dati simili in cluster. Nell'algoritmo di clustering gerarchico esistono principalmente due approcci, come indicato di seguito clustering gerarchico agglomerativo e cluster gerarchico divisivo.
Articoli consigliati
Questa è una guida al Clustering Gerarchico in R. Qui discuteremo in dettaglio come funziona il clustering e implementando il clustering gerarchico in R. Puoi anche consultare i nostri altri articoli correlati per saperne di più-
- Algoritmo di clustering
- Che cos'è il clustering nel data mining?
- Metodi di clustering
- Metodi di apprendimento automatico
- Panoramica dell'analisi dei cluster gerarchici
- Elenco dei pacchetti R