Hierarchiczne grupowanie w R - Prace i kroki do wdrożenia klastrowania w języku R.

Spisie treści:

Anonim

Wprowadzenie do hierarchicznego grupowania w R.

Hierarchiczne grupowanie w języku R jest najczęstszą formą uczenia się. Klastrowanie jest jednym z algorytmów uczenia maszynowego, który wyciąga wnioski z danych nieznakowanych.

Istnieją głównie dwa rodzaje algorytmów uczenia maszynowego:

  • Nadzorowane algorytmy uczenia się
  • Algorytmy uczenia bez nadzoru

Algorytmy uczenia nadzorowanego to kategoria algorytmu uczenia maszynowego, w której maszyna uczy się na podstawie danych oznaczonych. Przykładem nadzorowanych algorytmów uczenia się jest klasyfikacja i regresja. Algorytmy uczenia bez nadzoru to kategoria algorytmu uczenia maszynowego, w której maszyna uczy się na podstawie danych nieznakowanych. Przykładem algorytmów uczenia się bez nadzoru są algorytmy klastrowania.

Jak działa klastrowanie?

Algorytmy klastrowania grupują zestaw podobnych punktów danych w klastry. Głównym celem algorytmu klastrowania jest tworzenie klastrów punktów danych, które są podobne pod względem funkcji. Innymi słowy, punkty danych w klastrze są podobne, a punkty danych w jednym klastrze są różne od punktów danych w innym klastrze.

W hierarchicznym algorytmie grupowania występują głównie dwa podejścia, jak podano poniżej:

1. Aglomeracyjny

Zaczyna się od każdej obserwacji w jednym klastrze, a na podstawie miary podobieństwa w obserwacji dalej łączy klastry, tworząc pojedynczy klaster, dopóki dalsze scalenie nie jest możliwe, takie podejście nazywa się podejściem aglomeracyjnym.

2. Dzielące

Zaczyna się od wszystkich obserwacji w jednym klastrze i dalszych podziałów na podstawie miary podobieństwa lub klastra miary podobieństwa, dopóki nie jest możliwy podział, takie podejście nazywa się metodą podziału.

Teraz zacznijmy hierarchiczne algorytmy grupowania. Hierarchiczne grupowanie może być wykonywane od góry do dołu lub od dołu do góry. Zaczynamy od podejścia oddolnego lub aglomeracyjnego, w którym zaczynamy tworzyć jeden klaster dla każdego punktu danych, a następnie scalamy klastry w oparciu o pewną miarę podobieństwa w punktach danych. Kolejnym ważnym punktem jest to, w jaki sposób możemy zmierzyć podobieństwo. Istnieje wiele dostępnych matryc odległości, takich jak euklidesowy, Jaccard, Manhattan, Canberra, Minkowski itp., Aby znaleźć miarę podobieństwa. Wybór macierzy odległości zależy od rodzaju dostępnego zestawu danych, na przykład jeśli zestaw danych zawiera ciągłe wartości liczbowe, dobrym wyborem jest macierz odległości euklidesowa, natomiast jeśli zestaw danych zawiera dane binarne, dobrym wyborem jest Jaccard macierz odległości i tak dalej.

Wdrażanie klastrowania hierarchicznego w języku R

Kroki wymagane do wykonania w celu zaimplementowania hierarchicznego grupowania w R to:

1. Zainstaluj wszystkie wymagane pakiety R.

Będziemy używać poniższych pakietów, więc zainstaluj wszystkie te pakiety przed użyciem:

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. Przygotowanie danych

Dane Przygotuj się do hierarchicznej analizy skupień, ten krok jest bardzo prosty i ważny, musimy przede wszystkim wykonać dwa zadania, które są skalowaniem i oszacowania brakującej wartości. Dane muszą być skalowane, standaryzowane lub znormalizowane, aby zmienne były porównywalne. Skalowane lub znormalizowane lub znormalizowane są procesem przekształcania zmiennych w taki sposób, aby miały odchylenie standardowe jedno i średnią zero.

Jeśli w naszym zestawie danych występuje jakakolwiek brakująca wartość, bardzo ważne jest przypisanie brakującej wartości lub usunięcie samego punktu danych. Dostępne są różne opcje przypisywania brakującej wartości, takie jak średnia, średnia, mediana wartości w celu oszacowania brakującej wartości. Na przykład używamy tutaj wbudowanego zestawu danych tęczówki, w którym chcemy zgrupować rośliny typu tęczówki, zestaw danych tęczówki zawiera 3 klasy dla każdej instancji klasy 50. Zawiera 5 funkcji jako osobne. Długość, Sepal.Width, Petal.Length, Petal.Width i gatunek.

Kod 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” „Species”

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. Określ, jakich algorytmów hierarchicznego grupowania używasz

Różne typy hierarchicznych algorytmów klastrowych, takich jak aglomeracyjne hierarchiczne klastry i dzielące hierarchiczne klastry, są dostępne w R. Wymagane funkcje to -

  • Aglomeracyjne hierarchiczne klastrowanie (HC): funkcja hclust dostępna w pakiecie statystyk i funkcja Agnes dostępna w pakiecie klastrowym dla
  • Klastrowe hierarchiczne dzielenie: funkcja Diana dostępna w pakiecie klastrowym.

4. Computing Hierarchical Clustering

Aby obliczyć klastrowanie hierarchiczne, należy obliczyć macierz odległości i umieścić punkt danych na poprawnym klastrze. Istnieją różne sposoby obliczania odległości między gromadą, jak podano poniżej:

Kompletne połączenie: maksymalna odległość obliczana jest między klastrami przed scaleniem.

Pojedyncze połączenie: Minimalna odległość obliczana jest między klastrami przed scaleniem.

Średnie powiązanie: Oblicza średnią odległość między klastrami przed scaleniem.

Kod R:

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

Łączenie centroidów: Odległość między dwoma centroidami klastrów oblicza przed scaleniem.

Kod R:

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

Dendrogram służy do zarządzania liczbą uzyskanych klastrów. Działa tak samo jak w k-średnich k wykonuje kontrolę liczby skupień. Obecna funkcja, której możemy użyć do wycięcia dendrogramu.

Kod R:

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

Pełny kod 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)

Fabuła powyższego kodu R:

Wniosek

Istnieją głównie dwa rodzaje algorytmów uczenia maszynowego nadzorowanych algorytmów i algorytmy uczenia się bez nadzoru. Algorytmy klastrowania są przykładem algorytmów uczenia się bez nadzoru. Algorytmy klastrowania grupują zestaw podobnych punktów danych w klastry. W hierarchicznym algorytmie klastrowym występują głównie dwa podejścia, jak podano poniżej aglomeracyjny hierarchiczny klaster i hierarchiczny klaster dzielący.

Polecane artykuły

Jest to przewodnik po klastrowaniu hierarchicznym w R. Omówimy tutaj działanie klastrowania i szczegółowe wdrażanie klastrowania hierarchicznego w R. Możesz również przejrzeć nasze inne powiązane artykuły, aby dowiedzieć się więcej-

  1. Algorytm grupowania
  2. Co to jest klastrowanie w eksploracji danych?
  3. Metody grupowania
  4. Metody uczenia maszynowego
  5. Przegląd hierarchicznej analizy skupień
  6. Lista pakietów R.