Хијерархијско кластерирање у Р - Рад и кораци за имплементацију кластера у Р

Преглед садржаја:

Anonim

Увод у хијерархијско кластерирање у Р

Хијерархијско групирање у Р најчешћи је облик учења. Кластерирање је један од алгоритама машинског учења који узима закључке из необележених података.

Постоје углавном две врсте алгоритма машинског учења:

  • Надгледани алгоритми учења
  • Ненадгледани алгоритми учења

Надзорни алгоритми учења је категорија алгоритма машинског учења у којој машина учи из означених података. Пример алгоритама за надгледано учење је класификација и регресија. Ненадгледани алгоритми учења су категорија алгоритма машинског учења у којој машина учи из неозначених података. Пример неодржаваних алгоритама учења су алгоритми групирања.

Како раде кластерирање?

Алгоритми кластерирања групишу скуп сличних тачака података у кластере. Главни циљ алгоритма групирања је креирање кластера података који су слични у карактеристикама. Другим речима, тачке података унутар кластера су сличне, а тачке података у једном кластеру различите су од тачака података у другом кластеру.

У алгоритму хијерархијског кластерирања углавном се користе двосмјерна употреба, као што је наведено у наставку:

1. Агломеративе

Почиње са сваким проматрањем у једном кластеру, а на основу мјере сличности у проматрању што даље спаја кластере и прави један кластер док није могуће даљње спајање, овај приступ називамо агломеративним приступом.

2. Дивисиве

Све започиње са свим посматрањем у једном кластеру и даљим раздвајањима на основу мере сличности или кластера мера сличности док не дође до расцепа, овај приступ називамо методом поделе.

Сада покренимо алгоритме хијерархијског кластерирања, Хијерархијско кластерирање може се изводити одоздо или одоздо нагоре. Започињемо са приступом одоздо према горе или агломеративним приступом, где започињемо креирање једног кластера за сваку тачку података, а затим спајамо кластере на основу неке мере сличности у тачкама података. Следећа битна тачка је како да измеримо сличност. Доступно је много матрица удаљености као што су Еуклид, Џакард, Манхаттан, Цанберра, Минковски итд. Да бисте пронашли меру различитости. Избор матрице удаљености овиси о врсти доступног скупа података, на примјер, ако скуп података садржи континуиране нумеричке вриједности, онда је добар избор еуклидска матрица удаљености, док ако скуп података садржи бинарне податке, добар избор је Јаццард матрица удаљености и тако даље.

Имплементација хијерархијског кластерирања у Р

Кораци потребни за имплементацију хијерархијског кластерирања у Р су:

1. Инсталирајте све потребне Р пакете

Користићемо следеће пакете, зато инсталирајте све ове пакете пре употребе:

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. Припрема података

Подаци Припремите се за хијерархијску анализу кластера, овај корак је врло основни и важан, овде морамо углавном обавити два задатка који су скалирање и процена недостајуће вредности. Подаци се морају скалирати или нормирати или нормализовати да би се варијабле упоредиле. Скраћена или стандардизована или нормализована је процес трансформације променљивих тако да би оне требале да имају стандардно одступање један и значе нулу.

Ако је у нашем скупу података присутна било која недостајућа вриједност, врло је важно приписати недостајућу вриједност или уклонити саму точку података. Постоје различите опције за импутирање вредности која недостаје, као што је просечна, средња, средња вредност за процену вредности која недостаје. На пример, овде користимо уграђени скуп података ириса, у који желимо сврстати врсту биљака ириса, скуп података ириса садржи 3 класе за сваки примерак класе 50. Садржи 5 карактеристика као Сепал. Дужина, ширина латица, дужина латица, ширина латица, ширина и врсте.

Р код:

data <- iris
print(data)
# the sample of data set showing below which contain 1 sample for each class

"Сепал.Ленгтх" "Сепал.Видтх" "Петал.Ленгтх" "Петал.Видтх" "Врста"

1 4, 9 3, 5 1, 3 0, 2 сетоса

51 7, 0 3.1 4, 5 1.3 Версицолор

101 6.3 3.2 6.0 1.9 Вирџинија

data <- na.omit(data) # remove missing value
data <- scale(df) # scaling the variables or features

3. Наведите које хијерархијске алгоритме кластерирања користите

Различите врсте алгоритама хијерархијског групирања као агломеративно хијерархијско групирање и раздјелно хијерархијско групирање доступне су у Р. Потребне функције су -

  • Агломеративно хијерархијско кластерирање (ХЦ): хцлуст функција која је доступна у пакету статистике и Агнес функција која је доступна у пакету кластера) за
  • Подељено хијерархијско кластерирање: Диана функција која је доступна у пакету кластера.

4. Рачунање хијерархијског кластерирања

Да би се израчунало хијерархијско групирање треба израчунати матрицу удаљености и тачку података ставити на исправан кластер. Постоје различити начини за израчунавање удаљености између кластера, као што је дато у наставку:

Потпуна веза: Израчунава се максимално растојање између кластера пре спајања.

Појединачна веза: израчунава се минимална удаљеност између кластера пре спајања.

Просечно повезивање: израчунава просечну удаљеност између кластера пре спајања.

Р код:

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

Центроидна веза: Удаљеност између два центроида кластера израчунава се пре спајања.

Р код:

# 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. Дендрограми

Дендрограм се користи за управљање бројем добијених кластера. Изводи исто као у к-средствима к обавља контролу броја кластерирања. Тренутна функција коју можемо користити за резање дендрограма.

Р код:

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

Потпуни Р код:

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)

Нацрт горњег Р кода:

Закључак

Постоје углавном две врсте алгоритама машинског учења алгоритми учења под надзором и алгоритми учења без надзора. Алгоритми кластерирања су пример алгоритама учења без надзора. Алгоритми кластерирања групишу скуп сличних точака података у кластере. У алгоритму хијерархијског кластерирања углавном се користе двосмјерна употреба, као што је дато у даљем тексту агломеративно хијерархијско кластерирање и подељено хијерархијско групирање.

Препоручени чланци

Ово је водич за хијерархијско кластерирање у Р. Овде смо расправљали о томе како кластер функционише и детаљно имплементира хијерархијско кластерирање у Р. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. Алгоритам кластера
  2. Шта је кластерирање у Рударству података?
  3. Методе кластерирања
  4. Методе машинског учења
  5. Преглед хијерархијске анализе кластерирања
  6. Списак Р пакета