Uczenie maszynowe w R

Dariusz Brzeziński

Część III: Grupowanie

Agenda

  • Analiza skupień
  • Algorytmy
    • k-means, k-medoids
    • AHC
    • DBSCAN
  • Miary podobieństwa
  • Miary oceny

Grupowanie

Celem algorytmów analizy skupień (grupowania) jest połączenie w grupy obiektów podobnych do siebie i oddzielenie obiektów, które się od siebie różnią.

Definicja miary podobieństwa między obiektami jest kluczowa dla każdego algorytmu grupowania. To co rozumiane jest jako grupa, też bywa różnie definiowane. Wynika to z faktu, że grupowanie jest “źle zdefiniowanym problemem”.

Grupowanie - algorytmy

Podstawowe typy algorytmów:

  • Iteracyjne (k-means, k-medoids)
  • Hierarchiczne (AHC)
  • Gęstościowe (DBSCAN, OPTICS)
  • Komunikacyjne (affinity propagation)
  • Oparte o rozkłady (EM)

Zadanie z grupowania

  • Stwórz zbiór danych w następujący sposób:
library(fpc)

set.seed(23)
face <- rFace(1000, p=2, dMoNo=3)
df = data.frame(x=face[,1], y=face[,2])
labels = as.integer(attr(face,"grouping"))
  • df to dane do pogrupowania, labels poprawne etykiety

Zadanie z grupowania

  • Przetestuj różne algorytmy grupowania
  • Dla każdego algorytmu określ jakość skupień:
    • za pomocą miary liczbowej
    • tworząc macierz pomyłek
    • wizualizując dane
ggplot(df, aes(x, y, color=factor(predicted))) + 
    geom_point() + 
    theme_bw()

Przydatne zasoby