Bevezetés a hierarchikus klaszterezésbe R

A hierarchikus klaszterezés az R-ben a tanulás leggyakoribb formája. A klaszterezés a gépi tanulás egyik algoritmusa, amely a nem címkézett adatokból vonja le a következtetéseket.

Főleg kétféle gépi tanulási algoritmus létezik:

  • Felügyelt tanulási algoritmusok
  • Nem felügyelt tanulási algoritmusok

A felügyelt tanulási algoritmusok egy olyan gépi tanulási algoritmus egy kategóriája, amelyben a gép a megjelölt adatok alapján tanul. A felügyelt tanulási algoritmusok példája a besorolás és a regresszió. A nem felügyelt tanulási algoritmusok egy olyan gépi tanulási algoritmus egy kategóriája, amelyben a gép a fel nem jelölt adatok alapján tanul. A nem felügyelt tanulási algoritmusok példája a klaszterezési algoritmusok.

Hogyan működik a klaszterezés?

A klaszterezési algoritmusok hasonló adatpontok halmazát csoportosítják fürtökbe. A klaszterezési algoritmus fő célja az, hogy a jellemzőkben hasonló adatpontok klasztereit hozzák létre. Más szavakkal, a fürtön belüli adatpontok hasonlóak, és az egyik fürtben lévő adatpontok különböznek a másik fürt adatpontjaitól.

A hierarchikus klaszterezési algoritmusban főként két megközelítésű felhasználások vannak, az alábbiak szerint:

1. Agglomerációs

Az egyes megfigyelésekkel kezdődik egyetlen klaszterben, és a megfigyelés hasonlósági mutatója alapján a távoli egyesíti a klasztereket, hogy egyetlen klaszterré alakuljon, amíg nem lehetséges további továbblépés, ezt a megközelítést agglomerációs megközelítésnek nevezik.

2. Megosztó

Az összes megfigyeléssel egyetlen klaszterben kezdődik, és a hasonlósági vagy diszimilaritásmérő klaszter alapján tovább osztódik, amíg nem lehetséges a felosztás, ezt a megközelítést osztó módszernek nevezik.

Most kezdjük el a hierarchikus klaszterezési algoritmusokat. A hierarchikus klaszterezés felülről lefelé vagy alulról felfelé hajtható végre. Egy alulról felfelé építkező vagy agglomerációs megközelítéssel kezdjük, ahol elkezdi létrehozni egy fürtöt minden egyes adatponthoz, majd egyesítjük a klasztereket az adatpontok valamilyen hasonlósági mutatója alapján. A következő fontos pont az, hogy hogyan lehet megmérni a hasonlóságot. Számos távolságmátrix áll rendelkezésre, mint például Euclidean, Jaccard, Manhattan, Canberra, Minkowski stb., Hogy megtalálják a különbségtételt. A távolságmátrix megválasztása a rendelkezésre álló adatkészlet típusától függ, például ha az adatkészlet folyamatos numerikus értékeket tartalmaz, akkor a jó választás az euklideszi távolságmátrix, míg ha az adatkészlet bináris adatokat tartalmaz, akkor a jó választás Jaccard távolság mátrix és így tovább.

Hierarchikus klaszterezés végrehajtása R - ben

A hierarchikus klaszterezés R-ben történő megvalósításához szükséges lépések:

1. Telepítse az összes szükséges R csomagot

Az alábbi csomagokat fogjuk használni, tehát telepítés előtt telepítsük ezeket a csomagokat:

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. Az adatok előkészítése

Az adatok Felkészülés a hierarchikus klaszteranalízisre, ez a lépés nagyon alapvető és fontos, itt főleg két olyan feladatot kell elvégeznünk, amelyek méretezés és a hiányos érték becslése. Az adatokat méretezni vagy szabványosítani vagy normalizálni kell a változók összehasonlíthatósága érdekében. A skálázott vagy szabványosított vagy normalizált folyamat olyan változók átalakításának folyamata, hogy standard eltérésük legyen az egyik és az átlag nulla.

Ha az adatkészletben hiányzó érték van, akkor nagyon fontos a hiányzó értéket imputálni, vagy maga az adatpontot eltávolítja. Különféle lehetőségek állnak rendelkezésre a hiányzó érték becslésére, például az átlagos, az átlag és a medián érték a hiányzó érték becsléséhez. Például itt az írisz beépített adatkészletét használjuk, amelyben az írisz típusú növényeket szeretnénk csoportosítani, az írisz adatkészlet 3 osztályt tartalmaz mindegyik 50 osztályú példányhoz. 5 funkciót tartalmaz, mint Sepal. Hossz, Sepal.Width, Petal.Length, Petal.Szélesség és faj.

R kód:

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

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. Adja meg, hogy mely hierarchikus klaszterezési algoritmusokat használja

A hierarchikus klaszterezési algoritmusok különféle típusai, mint agglomerációs hierarchikus klaszterezés és osztó hierarchikus klaszterezés állnak rendelkezésre R-ben. A szükséges funkciók: -

  • Agglomerációs hierarchikus klaszterezés (HC): hclust függvény, amely elérhető a statisztikai csomagban, és Agnes függvény, amely elérhető a fürtcsomagban)
  • Hierarchikus klaszterezés: Diana funkció, amely a fürtcsomagban elérhető.

4. Hierarchikus klaszterezés

A hierarchikus klaszterezés kiszámításához ki kell számítani a távolságmátrixot, és az adatpontot a megfelelő klaszterbe kell helyezni. A fürt távolsága különféle módon számítható ki, az alábbiak szerint:

Teljes összeköttetés : Az egyesítés előtt kiszámítja a maximális távolságot a klaszterek között.

Egyszerû kapcsolat: Az egyesítés elõtt a klaszterek között kiszámítják a minimális távolságot.

Átlagos kapcsolat: kiszámítja a klaszterek közötti átlagos távolságot az egyesülés előtt.

R kód:

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

Centroid kapcsolat: Az egyesülés előtt kiszámítja a klaszterek két középpontja közötti távolságot.

R kód:

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

A dendrogram a kapott klaszterek számának kezelésére szolgál. Ugyanazt a funkciót hajtja végre, mint a k-eszközben, a k végrehajtja a klaszterek számának ellenőrzésére. Az aktuális funkció, amelyet felhasználhatunk a dendrogram levágására.

R kód:

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

A teljes R kód:

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)

A fenti R-kód ábrája:

Következtetés

Elsősorban kétféle gépi tanulási algoritmus működik, felügyelt tanulási algoritmusok és felügyelet nélküli tanulási algoritmusok. A klaszterezési algoritmusok példája a nem felügyelt tanulási algoritmusoknak. A klaszterezési algoritmusok hasonló adatpontok halmazát csoportosítják fürtökbe. A hierarchikus klaszterezési algoritmusban elsősorban két megközelítésű felhasználások vannak, amint az agglomerációs hierarchikus klaszterezés és osztó hierarchikus klaszterezés az alábbiakban található.

Ajánlott cikkek

Ez az útmutató az R hierarchikus klaszterezéséhez. Itt részletesen megvitatjuk a klaszterezés működését és a hierarchikus klaszterezés megvalósítását R-ben. Megnézheti más kapcsolódó cikkeinket, hogy többet megtudjon-

  1. Klaszterezési algoritmus
  2. Mi a klaszterezés az adatbányászatban?
  3. Klaszterezési módszerek
  4. Gépi tanulási módszerek
  5. A hierarchikus klaszterelemzés áttekintése
  6. Az R csomagok listája

Kategória: