Uvod v hierarhično grozdenje v R
Hierarhična gruča v R je najpogostejša oblika učenja. Grozdanje je eden od algoritmov strojnega učenja, ki sklepa na podlagi neoznačenih podatkov.
V glavnem obstajata dve vrsti algoritma strojnega učenja:
- Nadzirani algoritmi učenja
- Nenadzorovani algoritmi učenja
Nadzirani algoritmi učenja so kategorija algoritma strojnega učenja, v katerih se stroj uči iz označenih podatkov. Primer algoritmov nadzorovanega učenja sta klasifikacija in regresija. Nenadzorovani algoritmi učenja so kategorija algoritma strojnega učenja, v kateri se stroj uči iz neoznačenih podatkov. Primer nenadzorovanih algoritmov učenja so algoritmi združevanja.
Kako grozd deluje?
Grozdni algoritmi združujejo niz podobnih podatkovnih točk v skupine. Glavni cilj algoritma združevanja je ustvariti grozde podatkovnih točk, ki so po lastnostih podobne. Z drugimi besedami, podatkovne točke znotraj grozda so podobne, podatkovne točke v enem grozdu pa so drugačne od podatkovnih točk v drugem grozdu.
V algoritmu hierarhičnega združevanja so v glavnem uporabljeni dve možnosti, kot je navedeno spodaj:
1. aglomerative
Začne se z vsakim opazovanjem v enem grozdu in na podlagi ukrepa podobnosti v opazovanju dlje združi grozde v eno skupino, dokler ni mogoče nadaljnje združevanje, ta pristop imenujemo aglomerativni pristop.
2. deliti
Začne se z vsemi opazovanji v enem grozdu in dlje razcepom, ki temeljijo na merilu podobnosti ali grozdu merjenja podobnosti, dokler ni mogoče razdelitve, ta pristop imenujemo ločitvena metoda.
Zdaj začnimo algoritme hierarhičnega združevanja, Hierarhično združevanje se lahko izvaja od zgoraj navzdol ali od spodaj navzgor. Začnemo s pristopom od spodaj navzgor ali aglomerativnim pristopom, kjer začnemo ustvarjati en grozd za vsako podatkovno točko in nato združimo grozde na podlagi neke mere merjenja podobnosti v podatkovnih točkah. Naslednja pomembna točka je, kako lahko merimo podobnost. Na voljo je veliko matričnih razdalj, kot so Evklidov, Jaccard, Manhattan, Canberra, Minkowski itd, da bi našli merilo razlike. Izbira matrike razdalje je odvisna od vrste razpoložljivega nabora podatkov, na primer, če nabor podatkov vsebuje neprekinjene številčne vrednosti, potem je dobra izbira evklidska matrika razdalje, medtem ko če nabor podatkov vsebuje binarne podatke, je dobra izbira Jaccard matrika razdalje in tako naprej.
Izvajanje hierarhične gruče v R
Za izvajanje hierarhičnega združevanja v R so potrebni naslednji koraki:
1. Namestite vse potrebne R pakete
Uporabili bomo spodnje pakete, zato pred uporabo namestite vse 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. Priprava podatkov
Podatki Pripravimo se za hierarhično analizo grozdov, ta korak je zelo osnovni in pomemben, tu moramo v glavnem opraviti dve nalogi, ki spreminjata velikost in ocenjujemo manjkajočo vrednost. Podatke je treba zmanjšati ali standardizirati ali normalizirati, da bodo spremenljivke primerljive. Spremenjena ali standardizirana ali normalizirana je postopek preoblikovanja spremenljivk, tako da bi morale imeti standardni odklon eno in povprečno nič.
Če je v našem nizu podatkov prisotna katera manjkajoča vrednost, je zelo pomembno, da pripišemo manjkajočo vrednost ali odstranimo podatkovno točko. Na voljo so različne možnosti za pripis manjkajoče vrednosti, kot so povprečna, srednja, srednja vrednost za oceno manjkajoče vrednosti. Na primer, tukaj uporabljamo vgrajen nabor podatkov irisa, v katerega želimo združiti vrsto rastlin iris, iponski nabor podatkov vsebuje 3 razrede za vsak primerek razreda 50. Vsebuje 5 funkcij kot Sepal. Dolžina, širina semen, širina cvetnih listov, širina cvetnih listov in vrste.
Koda 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" "Vrsta"
1 4, 9 3, 5 1, 3 0, 2 setosa
51 7, 0 3, 1 4, 5 1, 3 vsestransko
101 6, 3 3, 2 6, 0 1, 9 Virginija
data <- na.omit(data) # remove missing value
data <- scale(df) # scaling the variables or features
3. Določite, katere hierarhične algoritme grozdenja uporabljate
V R. so na voljo različne vrste algoritmov hierarhičnega združevanja kot aglomerativno hierarhično združevanje in delitveno hierarhično združevanje. Zahtevane funkcije so -
- Aglomerativno hierarhično združevanje (HC): funkcija hclust, ki je na voljo v statističnem paketu in funkcija Agnes, ki je na voljo v paketu grozdov) za
- Ločeno hierarhično združevanje: Diana funkcija, ki je na voljo v paketu grozdov.
4. Računalniška hierarhična gruča
Za izračun hierarhičnega združevanja je treba izračunati matriko razdalje in podatkovno točko postaviti v pravilno gručo. Razdalja med gručo je različna, kot je navedeno spodaj:
Popolna povezava: pred združitvijo se izračuna največja razdalja med grozdi.
Enkratna povezava: pred združitvijo se izračuna najmanjša razdalja med grozdi.
Povprečna povezava: izračuna povprečno razdaljo med grozdi pred združitvijo.
R koda:
cluster <- hclust(data, method = "average" )
Centroidna povezava : Pred združitvijo se izračuna razdalja med dvema centroidoma grozdov.
R koda:
# 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 uporablja za upravljanje števila dobljenih grozdov. Izvaja enako kot v k-pomeni, da k izvaja nadzor nad številom skupin. Trenutna funkcija, ki jo lahko uporabimo za rezanje dendrograma.
R koda:
cutree(as.hclust(cluster), k = 3)
Celotna koda R:
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)
Načrt zgornje kode R:
Zaključek
Obstajata predvsem dve vrsti algoritmov strojnega učenja nadzorovanih učnih algoritmov in nenadzorovanih učnih algoritmov. Aluminijski algoritmi so primer nenadzorovanih učnih algoritmov. Grozdni algoritmi združujejo niz podobnih podatkovnih točk v skupine. V algoritmu hierarhičnega združevanja so v glavnem uporabljeni dve pristopi, kot sta navedena spodaj aglomerativno hierarhično združevanje in delitveno hierarhično združevanje.
Priporočeni članki
To je vodnik po Hierarhični grozdi v R. Tukaj razpravljamo o tem, kako združevanje deluje in podrobno izvaja hierarhično združevanje v R. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -
- Algoritem grozda
- Kaj je združevanje v podatkovno rudarjenje?
- Metode grozdenja
- Metode strojnega učenja
- Pregled hierarhične analize grozdov
- Seznam R paketov