Hierarkisk klynging i R - Arbeide og trinn for å implementere gruppering i R

Innholdsfortegnelse:

Anonim

Introduksjon til hierarkisk klynging i R

Hierarkisk klynging i R er den vanligste læringsformen. Clustering er en av algoritmene til maskinlæring som tar slutningene fra umerkede data.

Det er hovedsakelig to typer en maskinlæringsalgoritme:

  • Veiledet læringsalgoritmer
  • Uovervåket læringsalgoritmer

Overvåket læringsalgoritmer er en kategori av en maskinlæringsalgoritme der maskinen lærer av de merkede dataene. Et eksempel på veiledet læringsalgoritmer er klassifisering og regresjon. Uovervåkte læringsalgoritmer er en kategori av en maskinlæringsalgoritme der maskinen lærer av umerkede data. Et eksempel på uovervåket læringsalgoritmer er grupperingsalgoritmer.

Hvordan klynge fungerer?

Clustering-algoritmer grupperer et sett med lignende datapunkter i klynger. Hovedmålet med grupperingsalgoritmen er å lage klynger med datapunkter som er like i funksjonene. Med andre ord, datapunkter i en klynge er like, og datapunkter i en klynge er forskjellige fra datapunkter i en annen klynge.

Det er hovedsakelig to-tilnærmingsbruk i den hierarkiske klynge-algoritmen, som gitt nedenfor:

1. Agglomerativ

Det begynner med hver observasjon i en enkelt klynge, og basert på likhetstiltaket i observasjonen lengre fletter sammen klyngene til å lage en enkelt klynge inntil ingen lengre sammenslåing er mulig, kalles denne tilnærmingen en agglomerativ tilnærming.

2. Delende

Det begynner med all observasjon i en enkelt klynge og lenger splittelse basert på likhetsmål eller ulikhetsmålsklynge til ingen splittelse mulig. Denne tilnærmingen kalles en splittende metode.

La oss starte hierarkiske klyngebaserte algoritmer. Hierarkisk klynging kan utføres ovenfra og ned eller nedenfra og opp. Vi starter med en bottom-up eller agglomerativ tilnærming, hvor vi begynner å lage en klynge for hvert datapunkt og deretter slå sammen klynger basert på et likhetsmål i datapunktene. Det neste viktige poenget er at hvordan vi kan måle likheten. Det er mange avstandsmatriser som er tilgjengelige som Euklidean, Jaccard, Manhattan, Canberra, Minkowski osv. For å finne ulikhetstiltaket. Valget av avstandsmatrise avhenger av typen tilgjengelig datasett, for eksempel hvis datasettet inneholder kontinuerlige numeriske verdier, er det gode valget den euklidiske avstandsmatrisen, mens hvis datasettet inneholder binære data er det gode valget Jaccard avstandsmatrise og så videre.

Implementering av hierarkisk klynging i R

Trinnene som kreves for å utføre for å implementere hierarkisk klynging i R er:

1. Installer alle nødvendige R-pakker

Vi skal bruke pakkene nedenfor, så installer alle disse pakkene før du bruker:

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. Forberedelse av data

Dataene Forbered deg på hierarkisk klyngeanalyse, dette trinnet er veldig grunnleggende og viktig, vi må hovedsakelig utføre to oppgaver her som skalerer og estimerer manglende verdi. Dataene skal skaleres eller standardiseres eller normaliseres for å gjøre variabler sammenlignbare. Den skalerte eller standardiserte eller normaliserte er en prosess for å transformere variablene slik at de skal ha en standardavvik og bety null.

Hvis det er noe manglende verdi i vårt datasett, er det veldig viktig å beregne den manglende verdien eller fjerne selve datapunktet. Det er forskjellige alternativer tilgjengelig for å beregne den manglende verdien som gjennomsnittlig, gjennomsnittlig medianverdi for å estimere den manglende verdien. For eksempel bruker vi her iris innebygde datasett, der vi ønsker å klynge iris-typen av planter, iris-datasettet inneholder 3 klasser for hver klasse 50 forekomster. Den inneholder 5 funksjoner som Sepal. Lengde, sepal. Bredde, kronblad. Lengde, kronblad. Bredde og arter.

R-koden:

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” “Arter”

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. Spesifiser hvilke hierarkiske grupperingsalgoritmer ved å bruke

De forskjellige typene av hierarkiske klyngebaseringsalgoritmer som agglomerativ hierarkisk klynging og splittende hierarkisk klynging er tilgjengelige i R. De nødvendige funksjonene er -

  • Agglomerativ hierarkisk klynging (HC): hclust-funksjon som er tilgjengelig i statistikkpakke og Agnes-funksjon som er tilgjengelig i klyngepakke) for
  • Delende hierarkisk klynging: Diana-funksjon som er tilgjengelig i klyngepakke.

4. Beregning av hierarkisk klynge

For å beregne den hierarkiske klyngen må avstandsmatrisen beregnes og sett datapunktet til riktig klynge. Det er forskjellige måter vi kan beregne avstanden mellom klyngen, som gitt nedenfor:

Komplett kobling: Maksimal avstand beregnes mellom klynger før sammenslåing.

Enkeltkobling: Minimumsavstand beregnes mellom klyngene før den fusjoneres.

Gjennomsnittlig kobling: Beregner den gjennomsnittlige avstanden mellom klynger før sammenslåing.

R-kode:

cluster <- hclust(data, method = "average" )

Centroid-kobling: Avstanden mellom de to centroidene i klyngene beregnes før de slås sammen.

R-kode:

# 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. Dendrogrammer

Dendrogrammet brukes til å administrere antall oppnådde klynger. Den utfører det samme som i k-betyr k utfører for å kontrollere antall klynger. Den gjeldende funksjonen kan vi bruke til å kutte dendrogrammet.

R-kode:

cutree(as.hclust(cluster), k = 3)

Full R-kode:

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)

Plottet for ovennevnte R-kode:

Konklusjon

Det er hovedsakelig to typer maskinlæringsalgoritmer som er overvåket læringsalgoritmer og uovervåket læringsalgoritmer. Clustering-algoritmer er et eksempel på uovervåket læringsalgoritmer. Clustering-algoritmer grupperer et sett med lignende datapunkter i klynger. Det er hovedsakelig to-tilnærmingsbruk i den hierarkiske klyngealgoritmen, gitt nedenfor agglomerativ hierarkisk klynging og splittende hierarkisk klynging.

Anbefalte artikler

Dette er en guide til Hierarkisk Clustering i R. Her diskuterer vi hvordan clustering fungerer og implementerer hierarchical clustering i R i detalj. Du kan også gå gjennom andre relaterte artikler for å lære mer-

  1. Clustering algoritme
  2. Hva er Clustering i datamining?
  3. Clustering Methods
  4. Læringsmetoder for maskiner
  5. Oversikt over Hierarkisk Clustering Analyse
  6. Liste over R-pakker