Hierarhiline rühmitus R - Töö ja sammud rühmituse rakendamiseks R-s

Lang L: none (table-of-contents):

Anonim

Sissejuhatus hierarhilisse klastritesse R-s

Hierarhiline rühmitamine R-s on õppe levinuim vorm. Klasterdamine on üks masinõppe algoritme, mis võtab järeldused sildistamata andmetest.

Peamiselt on kahte tüüpi masinõppe algoritme:

  • Juhendatud õppe algoritmid
  • Juhendamata õppe algoritmid

Juhendatud õppe algoritmid on masinõppe algoritmi kategooria, milles masin õpib märgistatud andmetest. Juhendatud õppealgoritmide näide on klassifitseerimine ja regressioon. Juhendamata õppealgoritmid on masinõppe algoritmi kategooria, milles masin õpib sildistamata andmetest. Juhendamata õppealgoritmide näide on klasterdamisalgoritmid.

Kuidas klasterdamine töötab?

Klasterdamisalgoritmid rühmitavad sarnaste andmepunktide kogumi klastritesse. Klasterdamisalgoritmi põhieesmärk on luua tunnusjoontes sarnaste andmepunktide klastrid. Teisisõnu, klastri andmepunktid on sarnased ja ühe klastri andmepunktid erinevad teise klastri andmepunktidest.

Hierarhilises klasterdamisalgoritmis on peamiselt kahe lähenemisviisi kasutamine, nagu allpool esitatud:

1. Aglomeratiivne

See algab iga vaatlusega ühes klastris ja lähtudes vaatluse sarnasuse mõõtmest, ühendab kaugem klastrid ühe klastri, kuni kaugem liitmine pole võimalik, seda lähenemisviisi nimetatakse aglomeratiivseks lähenemiseks.

2. Jagunev

See algab kogu vaatlusega ühes kobaras ja kaugemateks lõhedeks sarnasuse või erinevuse mõõtmise klastri alusel, kuni jaotumine pole võimalik, seda lähenemisviisi nimetatakse jagavaks meetodiks.

Alustame nüüd hierarhiliste rühmitamise algoritmidega. Hierarhilisi rühmitusi saab teostada ülalt alla või alt üles. Alustame alt-üles või aglomeratiivse lähenemisviisiga, kus alustame iga andmepunkti jaoks ühe klastri loomisega ja seejärel ühendame klastrid, tuginedes mõnele andmepunkti sarnasuse mõõtmele. Järgmine oluline punkt on see, kuidas saaksime sarnasust mõõta. Erinevuste mõõtmise leidmiseks on saadaval palju vahemaatriksit nagu Euclidean, Jaccard, Manhattan, Canberra, Minkowski jne. Kaugusmaatriksi valik sõltub saadaoleva andmekogumi tüübist, näiteks kui andmekogum sisaldab pidevaid arvväärtusi, on hea valik Eukleidese maatriks, kui aga andmekogum sisaldab kahendandmeid, on hea valik Jaccard kauguse maatriks ja nii edasi.

Hierarhilise klastri rakendamine R-s

R-is hierarhilise rühmituse rakendamiseks vajalikud toimingud on järgmised:

1. Installige kõik vajalikud R-paketid

Me hakkame kasutama järgmisi pakette, nii et enne kasutamist installige kõik need paketid:

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. Andmete ettevalmistamine

Andmed Valmista hierarhiliseks klastrianalüüsiks ette, see samm on väga lihtne ja oluline, siin peame peamiselt täitma kaks ülesannet, mis on skaleerimine ja hindama puuduvat väärtust. Muutujate võrreldavuse tagamiseks tuleb andmeid skaleerida või normeerida või normaliseerida. Skaalatud või normeeritud või normaliseeritud on muutujate teisendamise protsess, nii et neil peaks olema standardhälve üks ja keskmine null.

Kui meie andmekogumis on puudu olev väärtus, on väga oluline puudujääv väärtus arvata või eemaldatakse andmepunkt ise. Puuduva väärtuse arvestamiseks on saadaval erinevaid võimalusi, näiteks keskmise, keskmise, mediaanväärtuse määramine puuduva väärtuse hindamiseks. Näiteks kasutame siin iirise sisseehitatud andmestikku, milles soovime rühmitada iirise tüüpi taimed, iirise andmestik sisaldab 3 klassi iga klassi 50 esinemisjuhu kohta. See sisaldab Sepalina 5 funktsiooni. Pikkus, Sepal.Laius, kroonleht.Pikkus, kroonleht.Laius ja liigid.

R-kood:

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

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. Täpsustage, milliseid hierarhilisi klasterdamisalgoritme kasutades

Erinevat tüüpi hierarhilised klasterdamisalgoritmid nagu aglomeratiivne hierarhiline rühmitus ja jagune hierarhiline rühmitus on saadaval R-s. Nõutavad funktsioonid on -

  • Aglomeratiivne hierarhiline klasterdamine (HC): hclust-funktsioon, mis on saadaval statistikapaketis, ja Agnes-funktsioon, mis on saadaval klastripaketis)
  • Hierarhiline rühmitamine: Diana funktsioon, mis on saadaval klastripaketis.

4. Hierarhilise rühmituse arvutamine

Hierarhilise klastri arvutamiseks tuleb arvutada vahemaa maatriks ja panna andmepunkt õigesse klastrisse. Klastri vahelise kauguse arvutamiseks on mitu erinevat viisi:

Täielik seos: enne liitmist arvutatakse klastrite vahel maksimaalne vahemaa.

Single Linkage: enne liitmist arvutatakse klastrite vahel minimaalne vahemaa.

Keskmine seos : arvutab klastrite keskmise vahemaa enne ühendamist.

R-kood:

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

Centroidne seos : klastrite kahe tsentriidi vaheline kaugus arvutatakse enne ühendamist.

R-kood:

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

Dendrogrammi kasutatakse saadud klastrite arvu haldamiseks. See toimib samamoodi nagu k-vahend, mida k täidab klastrite arvu kontrollimiseks. Praegune funktsioon, mida saame kasutada dendrogrammi lõikamiseks.

R-kood:

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

Täielik R-kood:

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)

Ülaltoodud R-koodi graafik:

Järeldus

Peamiselt on kahte tüüpi masinõppe algoritme juhendatud õppe algoritme ja juhendamata õppe algoritme. Klasterdamisalgoritmid on näide juhendamata õppealgoritmidest. Klasterdamisalgoritmid rühmitavad sarnaste andmepunktide kogumi klastritesse. Hierarhilises klasterdamisalgoritmis on peamiselt kahel lähenemisviisil põhinevad kasutusviisid, nagu allpool toodud aglomeratiivsetes hierarhilistes rühmitustes ja jagatavates hierarhilistes klastrites.

Soovitatavad artiklid

See on juhend Hierarhilise klastrimise kohta R-s. Siin käsitleme üksikasjalikult klastrimise toimimist ja hierarhilise rühmituse rakendamist R-is. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Klasterdamisalgoritm
  2. Mis on klastrimine andmete kaevandamisel?
  3. Klastrimismeetodid
  4. Masinõppe meetodid
  5. Ülevaade hierarhilisest klastrianalüüsist
  6. R-pakettide loetelu