Hijerarhijsko klasteriranje u R - Rad i koraci za implementaciju klastera u R

Sadržaj:

Anonim

Uvod u hijerarhijsko klasteriranje u R

Hijerarhijsko grupiranje u R najčešći je oblik učenja. Klasteriranje je jedan od algoritama strojnog učenja koji uzima zaključke iz neobilježenih podataka.

Postoje uglavnom dvije vrste algoritma strojnog učenja:

  • Nadzirani algoritmi učenja
  • Nenadgledani algoritmi učenja

Nadzirani algoritmi učenja kategorija je algoritma strojnog učenja u kojoj stroj uči iz označenih podataka. Primjer algoritama za nadzirano učenje je klasifikacija i regresija. Nenadzirani algoritmi učenja kategorija su algoritma strojnog učenja u kojem stroj uči iz neobilježenih podataka. Primjer nenadziranih algoritama učenja su algoritmi grupiranja.

Kako djeluje klasteriranje?

Klasterični algoritmi grupiraju skup sličnih podatkovnih točaka u klastere. Glavni cilj algoritma grupiranja je stvaranje klastera podatkovnih točaka sličnih u značajkama. Drugim riječima, podatkovne točke unutar klastera su slične, a podatkovne točke u jednom klasteru različite su od podatkovnih točaka u drugom klasteru.

Postoje uglavnom dvostrani načini korištenja u hijerarhijskom algoritmu grupiranja, kao što je navedeno u nastavku:

1. aglomerativni

Ona započinje svakim promatranjem u jednom klasteru, a na temelju mjere sličnosti u promatranju što dalje spaja klastere i čini jedan klaster dok više nije moguće spajanje, ovaj pristup nazivamo aglomerativnim pristupom.

2. podjele

Sve započinje sa svim promatranjem u jednom klasteru i daljnjim rascjepima na temelju mjere sličnosti ili klastera mjera različitosti dok ne dođe do rascjepa, ovaj pristup nazivamo metodom podjele.

Sada pokrenimo algoritme hijerarhijskog klasteriranja, Hijerarhijsko grupiranje može se izvoditi odozdo ili odozdo. Započinjemo s pristupom odozdo prema gore ili aglomerativnim pristupom, gdje započinjemo s kreiranjem jednog klastera za svaku točku podataka, a zatim spajamo klastere na temelju mjere sličnosti u podatkovnim točkama. Sljedeća je važna točka kako mjeriti sličnost. Na raspolaganju je mnogo matrica udaljenosti kao što su Euklid, Jaccard, Manhattan, Canberra, Minkowski itd. Kako bi se pronašla mjera nejednakosti. Izbor matrice udaljenosti ovisi o vrsti dostupnog skupa podataka, na primjer, ako skup podataka sadrži kontinuirane numeričke vrijednosti, onda je dobar izbor euklidska matrica udaljenosti, dok ako skup podataka sadrži binarne podatke, dobar izbor je Jaccard matrica udaljenosti i tako dalje.

Implementacija hijerarhijskog klasteriranja u R

Koraci potrebni za provođenje hijerarhijskog grupiranja u R su:

1. Instalirajte sve potrebne R pakete

Koristit ćemo pakete u nastavku, stoga prije upotrebe instalirajte sve te pakete:

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. Priprema podataka

Podaci Pripremite se za hijerarhijsku analizu klastera, ovaj korak je vrlo osnovni i važan, ovdje moramo uglavnom obaviti dva zadatka koji su skaliranje i procjena nedostajuće vrijednosti. Podaci se moraju skalirati ili standardizirati ili normalizirati kako bi se varijable učinile usporedivim. Skalarizirana ili normirana ili normalizirana proces je transformacije varijabli tako da trebaju imati standardno odstupanje jedan i značiti nulu.

Ako je u našem skupu podataka prisutna bilo koja nedostajuća vrijednost, onda je vrlo važno pripisati vrijednost koja nedostaje ili samu točku podataka ukloniti. Dostupne su različite opcije za imputiranje nedostajuće vrijednosti kao što je prosječna, srednja, srednja vrijednost za procjenu vrijednosti koja nedostaje. Primjerice, ovdje koristimo ugrađeni skup podataka o irisu, u koji želimo svrstati vrstu biljaka irisa, skup podataka irisa sadrži 3 klase za svaki slučaj klase 50. Sadrži 5 značajki kao Sepal. Dužina, širina latice, duljina latica, širina latica, širina i vrste.

R kod:

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" "Vrsta"

1 4, 9 3, 5 1, 3 0, 2 setosa

51 7, 0 3, 1 4, 5 1, 3 Svestrani

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. Navedite koje hijerarhijske algoritme klasteriranja koristite

U R. su dostupne različite vrste algoritama hijerarhijskog grupiranja kao aglomerativno hijerarhijsko grupiranje i razdjelno hijerarhijsko grupiranje. Tražene funkcije su -

  • Aglomerativno hijerarhijsko grupiranje (HC): hclust funkcija koja je dostupna u paketu statistika i Agnes funkcija koja je dostupna u paketu klastera) za
  • Podijeljeno hijerarhijsko grupiranje: Diana funkcija koja je dostupna u paketu clustera.

4. Računalo hijerarhijsko klasteriranje

Za izračunavanje hijerarhijskog grupiranja treba izračunati matricu udaljenosti i točku podataka staviti na ispravan skup. Postoje različiti načini na koje možemo izračunati udaljenost između klastera, kao što je dano u nastavku:

Potpuno povezivanje: prije spajanja izračunava se maksimalna udaljenost između klastera.

Pojedinačno povezivanje: Prije spajanja izračunava se minimalna udaljenost između klastera.

Prosječno povezivanje: izračunava prosječnu udaljenost između klastera prije spajanja.

R kod:

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

Centroidna veza: Udaljenost između dva centroida grozda izračunava se prije spajanja.

R kod:

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

Dendrogram se koristi za upravljanje brojem dobivenih klastera. Obavlja isto kao u k-sredstvima k obavlja kontrolu broja klastera. Trenutna funkcija koju možemo upotrijebiti za rezanje dendrograma.

R kod:

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

Potpuni R kod:

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)

Rječnik gornjeg R koda:

Zaključak

Postoje uglavnom dvije vrste algoritama strojnog učenja algoritmi učenja pod nadzorom i algoritmi učenja bez nadzora. Algoritmi klasteriranja su primjer algoritama nenadziranog učenja. Klasterični algoritmi grupiraju skup sličnih podatkovnih točaka u klastere. U algoritmu hijerarhijskog grupiranja postoje uglavnom dvosmjerna korištenja, kao što je dano ispod aglomerativnog hijerarhijskog grupiranja i dijeljenja hijerarhijskog grupiranja.

Preporučeni članci

Ovo je vodič za hijerarhijsko klasteriranje u R. Ovdje ćemo raspraviti kako klaster funkcionira i detaljno implementirati hijerarhijsko grupiranje u R. Možete i proći kroz naše druge povezane članke da biste saznali više -

  1. Algoritam klastera
  2. Što je klasteriranje u Rudarstvu podataka?
  3. Metode klasteriranja
  4. Metode strojnog učenja
  5. Pregled hijerarhijske analize klasteriranja
  6. Popis R paketa