Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Agnieszka Nowak - Brzezińska. Metody eksploracji danych odkrywanie asocjacji odkrywanie wzorców sekwencji klasyfikacja analiza skupień - grupowanie szeregi.

Podobne prezentacje


Prezentacja na temat: "Agnieszka Nowak - Brzezińska. Metody eksploracji danych odkrywanie asocjacji odkrywanie wzorców sekwencji klasyfikacja analiza skupień - grupowanie szeregi."— Zapis prezentacji:

1 Agnieszka Nowak - Brzezińska

2 Metody eksploracji danych odkrywanie asocjacji odkrywanie wzorców sekwencji klasyfikacja analiza skupień - grupowanie szeregi czasowe wykrywanie zmian i odchyleń Inne metody analizy danych DM Grupowanie jest to podział zbioru obiektów na podzbiory taki by podobieństwo obiektów należących do jednego podzbioru było największe a obiektów należących do różnych podzbiorów najmniejsze.

3 Na czym polega grupowanie ? Obiekt jest przydzielony do skupienia, którego środek ciężkości leży najbliżej w sensie odległości euklidesowej. Grupowanie – analiza skupień

4 Uczenie nienadzorowane dany jest zbiór uczący, w którym obiekty nie są poklasyfikowane celem jest wykrycie nieznanych klasyfikacji, podobieństw między obiektami Analiza skupień – cluster analysis Miary odległości, Miary podobieństwa. X 4 : X 22 : jak znajdować podobieństwo ?

5

6 Analiza skupień – przykład

7 Analiza skupień – to proces podziału danych na podzbiory zwane klasami (skupieniami) z punktu widzenia określonego kryterium Klasyfikacja - czyli podział zbiorów obiektów na skupienia. dany jest zbiór uczący, w którym obiekty nie są poklasyfikowane, celem jest wykrycie nieznanych klasyfikacji, podobieństw między obiektami. Powstałe grupy (skupienia) są zespołami obiektów badanej serii bardziej podobnych do siebie (wewnątrz grupy) niż do pozostałych obiektów (między grupami). Klasyfikacja...

8 Można określić na dwa sposoby: jako różnicę (czyli odległość d), lub z drugiej strony jako podobieństwo p. Warunki: ustalenie standardu opisu badanego obiektu – zespołu diagnostycznych cech, które dobrze opisują zmienność badanych, określenie sposobu porównywania obiektów. Inność (rozróżnialność obiektów).

9 Metody obliczania odległości i podobieństwa NazwaWzóropis Odległość miejska wartość bezwzględna z prostej różnicy między wartościami i-tych cech dla badanych obiektów x i y Odległość euklidesowa pierwiastek z kwadratu różnicy między wartościami cech dla badanych obiektów x i y Odległość Czebyszewa największa różnica między znormalizowanymi cechami (znormalizowanymi, aby ich wartości były porównywalne) badanych obiektów x i y gdzie: x i,y i - to wektory wartości cech porównywanych obiektów w przestrzeni p- wymiarowej, gdzie odpowiednio wektory wartości to: oraz

10 Metody obliczania odległości i podobieństwa cd. Metody obliczania podobieństw (współczynników podobieństwa) są mniej liczne. Dwa najczęściej używane współczynniki podobieństwa to: współczynnik korelacji liniowej Pearsona odległość kątowa Im większa wartość współczynnika podobieństwa, tym bardziej podobne do siebie są badane obiekty, zaś przy maksymalnej wartości p = 1 obiekty stają się identyczne.

11 Rodzaje algorytmów: graficzne - na przykład diagramy Czekanowskiego, hierarchiczne (aglomeracyjne, deglomeracyjne), k-optymalizacyjne –(nie-hierarchiczne) seria dzielona jest na k zbiorów obiektów, przy czym obiekt może należeć tylko do jednego ze zbiorów, a liczba k jest zwykle podawana przez badacza.

12 Obiekt jest przydzielony do skupienia, którego środek ciężkości leży najbliżej w sensie odległości euklidesowej. Algorytmy k-optymalizacyjne... Cel klasyfikacji: 1. minimalizacja zmienności wewnątrz skupień, 2. maksymalizacja zmienności między skupieniami. Przebieg: 1. Wyznaczenie k początkowych skupień przez badacza 2. Przydzielenie obiektów do najbliższych im skupień Kolejno (iteracyjnie) powtarzane przenoszenie obiektów między skupieniami tak, aby uzyskać najlepszy podział na grupy.

13

14 zostanie przekroczona ustalona z góry maksymalna liczba iteracji (kroków), lub nastąpi stabilizacja struktury klas. Kryterium oceny jakości podziału serii obiektów na grupy jest tzw. funkcja podziału mająca zwykle postać sumy odległości euklidesowych obiektów od środków ciężkości właściwych im grup. Warunek końca procesu optymalizacji: gdzie: to odległość euklidesowa danego punktu p od centrum grupy

15 Zbiór obiektów opisanych atrybutami, Doprowadzenie do porównywalności atrybutów ( standaryzacja,normalizacja ), Wybór miary odległości ( odległość Euklidesowa, metryka Czebyszewa, odległość miejska, odległość potęgowa, i inne ). Analiza skupień – popularne algorytmy algorytm k-means algorytm k-medoids Tworzenie skupień – co jest potrzebne ?

16

17 Opcje wyboru wstępnych centrów skupień mogą być następujące: losowe przypisanie elementów do k zadeklarowanych skupień, Maksymalizacja odległości miedzy skupieniami, Obserwacje przy stałym interwale, Pierwsze k obserwacji Liczba k – jak ją określić ?

18 Inicjalizacja – wykonać wstępny podział obiektów na k – skupień (wybór k – wiele możliwości) Obiekty to punkty w d-wymiarowej przestrzeni wektorowej. Centroid c: środek wszystkich punktów w skupieniu C Miara dopasowania do skupienia C: Miara dopasowania grupowania ogółem: ALGORYTM K-MEANS (K-ŚREDNICH) - [J. McQueen]

19 1.Dzielimy zbiór na K grup w sposób losowy. 2.Liczymy środek (centroid) każdej grupy. 3.Dokonujemy ponownego podziału obiektów, przypisując je do tej grupy, której środek leży najbliżej. 4.Powtarzamy od 2 póki następują zmiany przyporządkowania. Pseudokod algorytmu (4 kroki):

20 Przykład: Ponownie oblicz Środki skupień Losowo wybierz K obiektów jako wejściowe środki skupień Kolejna iteracja Kolejna iteracja K=2 Przydziel każdy obiekt do najbliżej grupy Wylicz nowe środki skupień

21 Zalety: Stosunkowo niewielka złożoność obliczeniowa, Prosta idea. Wady: Szum w danych i obiekty odległe mogą zniekształcać centroidy, Początkowy wybór wpływa na wyniki Ocena metody k-średnich:

22 Algorytm jest zbyt wrażliwy na tzw. obiekty odległe – outliers, Metoda k-medoids –zamiast tworzyć centroidy (średnie z odległości) – tworzy medoidy – te obiekty ze zbioru n, które w danym skupieniu są najbardziej centralne – tzn. ich odległość od wszystkich pozostałych w danym skupieniu jest najmniejsza. PAM (Partitioning Around Medoids) – algorytm grupowania metodą k-reprezentantów. W czym tkwi problem z metodą k-średnich ?

23 Rozszerzenie idei algorytmu k-means (modyfikacja algorytmu k-means) Cel – znaleźć reprezentatywne obiekty dla skupień, zwane medoidami. Punkty medoidalne są wymieniane z innymi, jeszcze nie wybranymi, tak aby polepszyć jakość grupowania. Parametry: Medoid m c : obiekt reprezentatywny w skupieniu C Miara dopasowania do skupienia C: Miara dopasowania grupowania ogółem: ALGORYTM K-MEDOIDS [Kaufman & Rousseeuw, 1990r.]

24

25 Przebieg algorytmu (5 kroków): 1.Wybrać k- obiektów reprezentatywnych (medoidów) 2.Dopasuj każdy z pozostałych (nie będących medoidami) obiektów do najbardziej podobnych klastrów i oblicz TD current. 3.Dla każdej pary (medoid M, nie-medoid N ) oblicz wartość TD N M. 4.Wybierz ten nie-medoid N, dla którego TD N M jest minimalne Jeśli TD N M jest mniejsze niż: Zamień N z M, Ustaw TD current := TD N M wróć do kroku 2 5.Koniec.

26 Typowy przebieg PAM – metodą k-medoidów K=2 Powtarzaj dopóki są jakieś zmiany Oblicz Koszt zmiany Losowo wybierz jeden obiekt O random Odgórnie wybierz K obiektów jako początkowe MEDOIDY Przydziel Każdy z pozostałych obiektów do najbliższego medoidu Total cost=20 Total cost=26 Zamień obiekt bieżący z O random Jeśli to polepszy jakość grup

27 Zalety: Dobrze sobie radzi z ostańcami (ang. outliers)– obiekty odległe, izolowane Początkowy wybór nie wpływa na wyniki Odporność na szum w danych Wady: Nie radzi sobie z dużymi zbiorami danych Wykonanie jest kosztowne dla dużych wartości n-obiektów i k- skupień. Ocena metody k-medoids

28 Algorytm k-means O(tnk) O(nk) gdzie : t – liczba iteracji k – liczba skupień n – liczba obiekt ó w Algorytm k-medoids O(k(n-k)(n-k)) O(k(n-k) 2 ) Złożoność obliczeniowa:

29 Algorytm k-medoids jest bardziej wytrzymały (odporny) na szumy i odległe obiekty, Algorytm k-means jest tańszy (bardziej efektywny) pod względem czasu przetwarzania, K-means jest zbyt wrażliwy na obiekty odległe (ang. outliers) – co może zniekształcać dane, Zatem zamiast brać średnią wartość - bierze się najbardziej centralny obiekt jako punkt odniesienia (medoid). Porównanie obydwu metod:

30

31 Przebieg grupowania AHC: Przebieg grupowania obiektów w ramach metod aglomeracyjnych odbywa się w następujących krokach: 1.Utwórz n klas zawierających pojedyncze obiekty. 2.Oblicz wartość pewniej miary podobieństwa (odległości) dla wszystkich par klas. 3.Połącz dwie klasy najbardziej podobne. 4.Jeśli wszystkie obiekty należą do jednej klasy, to zakończ pracę. W przeciwnym przypadku przejdź do kroku 2.

32 Algorytm grupowania: 1.Mając macierz D=[d ij ] (i,j = 1,2,...,n) wyznaczamy element najmniejszy (szukamy pary skupień najmniej odległych od siebie): d pq = min i,j {d ij } (i,j = 1,2,...,n), p

33 Graficzna ilustracja grupowania AHC o4o4 o2o2 o3o3 o5o5 o6o6 o7o7 o1o1 o8o8 {o 1,o 2,o 3,o 4,o 5,o 6,o 7,o 8 } Rys. Przykład dendrogramu

34 Surowe dane: (przykład) VAR 1VAR Docelowo: Dużo więcej obiektów i dużo więcej cech te obiekty opisujących.

35 P_1 P_2 P_3 P_4 P_5 P_6 P_7 P_8 P_9 P_10 P_1 0 5,00 4,00 2,00 5,10 4,121,00 5,83 6,08 6,40 P_2 5,00 0 6,40 7,00 1,00 7,215,10 3,00 8,49 4,00 P_3 4,00 6,40 0 4,47 5,83 1,003,00 5,10 2,24 5,00 P_4 2,00 7,00 4,47 0 7,07 4,122,24 7,62 6,08 8,06 P_5 5,10 1,00 5,83 7,07 0 6,715,00 2,00 7,81 3,00 P_6 4,12 7,21 1,00 4,12 6,71 03,16 6,08 2,00 6,00 P_7 1,00 5,10 3,00 2,24 5,00 3,16 0 5,39 5,10 5,83 P_8 5,83 3,00 5,10 7,62 2,00 6,085,39 0 6,71 1,00 P_9 6,08 8,49 2,24 6,08 7,81 2,005,10 6,71 0 6,32 P_10 6,40 4,00 5,00 8,06 3,00 6,005,83 1,00 6,32 0 Macierz odległości euklidesowych (standaryzowanych)

36 1 iteracja P_1P_2P_3P_4P_5P_6P_7P_8P_9P_10 P_10 P_250 P_346,40 P_4274,470 P_ P_ P_ P_ P_ P_ Szukaj minimalnej odległości... 1 P_1 P_7 P_17

37 2 iteracja P_17P_2P_3P_4P_5P_6P_8P_9P_10 P_170 P_250 P_336,40 P_4274,470 P_ P_ P_ P_ P_ Szukaj minimalnej odległości... 1 P_2 P_5 P_25

38 3 iteracja P_17P_25P_3P_4P_6P_8P_9P_10 P_170 P_2550 P_335,830 P_4274,470 P_ P_ P_ P_ Szukaj minimalnej odległości... 1 P_3 P_6 P_36

39 4 iteracja P_17P_25P_36P_4P_8P_9P_10 P_170 P_2550 P_3635,830 P_4274,120 P_ P_ P_ Szukaj minimalnej odległości... 1 P_8 P_10 P_810

40 5 iteracja P_17P_25P_36P_4P_810P_9 P_170 P_2550 P_3635,830 P_4274,120 P_ P_ Szukaj minimalnej odległości... 2 P_17 P_4 P_174

41 6 iteracja P_174P_25P_36P_810P_9 P_1740 P_2550 P_3635,830 P_ P_ Szukaj minimalnej odległości... 2 P_810 P_25 P_25810

42 7 iteracja P_174P_25810P_36P_9 P_1740 P_ P_36350 P_ Szukaj minimalnej odległości... 2P_9 P_36 P_369

43 8 iteracja P_174P_25810P_369 P_1740 P_ P_ Szukaj minimalnej odległości... 3P_369 P_174 P_ iteracja P_174369P_25810 P_ P_ Szukaj minimalnej odległości... Powstanie jedna grupa P_ iteracji algorytmu

44 Przebieg aglomeracji Pojedyncze wiązanie Odległości euklidesowe OdległośćŁączone obiekty: 1P_1, P_7 1P_2, P_5 1P_3, P_6 1P_8, P_10 2P_1, P_7, P_4 2P_2, P_5, P_8, P_10 2P_3, P_6, P_9 3P_1, P_7, P_4, P_3, P_6, P_9 5P_1, P_7, P_4, P_3, P_6, P_9, P_2, P_5, P_8, P_10

45 Dendrogram

46 Odległości międzygrupowe wybranych metod aglomeracyjnych Metoda najbliższego sąsiedztwa Metoda mediany Metoda najdalszego sąsiedztwa

47 Metoda średniej grupowej Metoda środka ciężkości Metoda J.H. Warda Odległości międzygrupowe...(c.d.)

48 Ogólna formuła wyznaczania odległości podczas łączenia skupień Gp i Gq w nowe skupienie dla hierarchicznych procedur grupowania to: Wielkości a p, a q,b,c są parametrami przekształcenia charakterystycznymi dla różnych metod tworzenia skupień. Wartości tych parametrów są przedstawione w tabeli nr 1. Metodaapap aqaq bc Najbliższego sąsiedztwa0,5 0-0,5 Najdalszego sąsiedztwa0,5 0 Mediany0,5 -0,250 Średniej grupowej00 Środka ciężkości0 Warda0

49 Wykres przebiegu aglomeracji:

50 Warunek zatrzymania aglomeracji – kiedy ?

51

52

53

54

55

56

57 k-meansk-medoidAHC Złożoność Obliczeniowa O(tkn) O(kn) WadyWrażliwość na obiekty odległe. Wymagana liczba k- skupień Wymaga podania liczby k-skupień Wymaga podania warunku końca, np. współczynnika maksymalnej opłacalności zaletyProsta struktura, stosunkowo mała złożoność obliczeniowa Bardziej efektywna niż k- means bo szuka reprezentanów i nie jest tak wrażliwa na obiekty odległe Nie wymaga podania liczby grup, bardziej efektywna i popularna O(k(n-k) 2 ) Co najmniej O(n 2 ) HIERARCHICAL CLUSTERING - korzysta z macierzy odległości - tworzy drzewo obiektów (dendrogram) - nie wymaga podawania na wstępie liczby skupień Ale wymaga określenia warunku zakończenia algorytmu Wady AHC: - duża złożoność obliczeniowa – co najmniej O(n 2 ) - Aglomeracyjne tworzenie skupień kontra inne metody

58

59

60 Rattle R TraceIs MS Excel

61 Krok 1: Załadowanie danych

62

63

64 K=3

65

66

67

68 K=2

69

70

71

72

73 K=3

74 Parametry: x - rezultat. data – dane wejściowe. dimens – wymiary przestrzeni danych. scale – wartość TRUE lub FALSE. Domyślnie false – oznacza ze wybrane wymiary nie mają być prezentowane w tej samej skali. Wartość: Możliwe są opcje: wartość BIC dla wybranej licby skupień. Jeśli dane są wielowymiarowe (>2)prezentowane są mieszaniny współrzędnych i prezentowane są parami – wszystkie kombinacje plot.Mclust(x, data, dimens = c(1, 2), scale = FALSE,...)

75 modelName – typ modelu: "E" : equal variance (one-dimensional) "V" : spherical, variable variance (one-dimensional) "EII": spherical, equal volume "VII": spherical, unequal volume "EEE": ellipsoidal, equal volume, shape, and orientation "VVV": ellipsoidal, varying volume, shape, and orientation Data – dane (muszą być ilościowe) Agglomerative hierarchical clustering based on maximum likelihood criteria for MVN mixture models parameterized by eigenvalue decomposition. hc(modelName, data,...)

76 G – liczba składowych dla których liczymy BIC emModelNames: "E" for spherical, equal variance (one-dimensional) "V" for spherical, variable variance (one-dimensional) "EII": spherical, equal volume "VII": spherical, unequal volume "EEI": diagonal, equal volume, equal shape "VEI": diagonal, varying volume, equal shape "EVI": diagonal, equal volume, varying shape "VVI": diagonal, varying volume, varying shape "EEE": ellipsoidal, equal volume, shape, and orientation "EEV": ellipsoidal, equal volume and equal shape "VEV": ellipsoidal, equal shape "VVV": ellipsoidal, varying volume, shape, and orientation hcPairs - A matrix of merge pairs for hierarchical clustering such as produced by function hc. subset - A logical or numeric vector specifying the indices of a subset of the data to be used in the initial hierarchical clustering phase. eps - A scalar tolerance for deciding when to terminate computations due to computational singularity in covariances. Smaller values of eps allow computations to proceed nearer to singularity. The default is.Mclust\$eps. tol - A scalar tolerance for relative convergence of the loglikelihood. The default is.Mclust\$tol. itmax - An integer limit on the number of EM iterations. The default is.Mclust\$itmax. equalPro - Logical variable indicating whether or not the mixing proportions are equal in the model. The default is.Mclust\$equalPro. warnSingular - A logical value indicating whether or not a warning should be issued whenever a singularity is encountered. The default is warnSingular=FALSE.... Provided to allow lists with elements other than the arguments can be passed in indirect or list calls with do.call. BIC for EM initialized by hierarchical clustering for parameterized Gaussian mixture models. EMclust(data, G, emModelNames, hcPairs, subset, eps, tol, itmax, equalPro, warnSingular,...)

77 x data matrix or data frame, or dissimilarity matrix, depending on the value of the diss argument. diss logical flag: if TRUE (default for dist or dissimilarity objects), then x is assumed to be a dissimilarity matrix. If FALSE, then x is treated as a matrix of observations by variables. metric character string specifying the metric to be used for calculating dissimilarities between observations. The currently available options are "euclidean" and "manhattan". Euclidean distances are root sum-of-squares of differences, and manhattan distances are the sum of absolute differences. If x is already a dissimilarity matrix, then this argument will be ignored. stand logical flag: if TRUE, then the measurements in x are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by subtracting the variable's mean value and dividing by the variable's mean absolute deviation. If x is already a dissimilarity matrix, then this argument will be ignored. method character string defining the clustering method. The six methods implemented are "average" ([unweighted pair-]group average method, UPGMA), "single" (single linkage), "complete" (complete linkage), "ward" (Ward's method), "weighted" (weighted average linkage) and its generalization "flexible" which uses (a constant version of) the Lance-Williams formula and the par.method argument. Default is "average". agnes(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, method = "average", par.method, keep.diss = n < 100, keep.data = !diss)

78 stand - logical, indicating if the measurements in x are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by subtracting the variable's mean value and dividing by the variable's mean absolute deviation. samples integer, number of samples to be drawn from the dataset. sampsize - integer, number of observations in each sample. sampsize should be higher than the number of clusters (k) and at most the number of observations (n = nrow(x)). trace integer indicating a trace level for diagnostic output during the algorithm. medoids.x logical indicating if the medoids should be returned, identically to some rows of the input data x. If FALSE, keep.data must be false as well, and the medoid indices, i.e., row numbers of the medoids will still be returned (i.med component), and the algorithm saves space by needing one copy less of x. keep.data logical indicating if the (scaled if stand is true) data should be kept in the result. Setting this to FALSE saves memory (and hence time), but disables clusplot()ing of the result. Use medoids.x = FALSE to save even more memory. rngR logical indicating if R's random number generator should be used instead of the primitive clara()-builtin one. If true, this also means that each call to clara() returns a different result – though only slightly different in good situations.clusplot clara(x, k, metric = "euclidean", stand = FALSE, samples = 5, sampsize = min(n, * k), trace = 0, medoids.x = TRUE, keep.data = medoids.x, rngR = FALSE)

79 diss logical flag: if TRUE (default for dist or dissimilarity objects), then x will be considered as a dissimilarity matrix. If FALSE, then x will be considered as a matrix of observations by variables stand logical; if true, the measurements in x are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by subtracting the variable's mean value and dividing by the variable's mean absolute deviation. If x is already a dissimilarity matrix, then this argument will be ignored. keep.data logicals indicating if the dissimilarities and/or input data x should be kept in the result. Setting these to FALSE can give much smaller results and hence even save memory allocation time. Details diana(x, diss = inherits(x, "dist"), metric = "euclidean", stand = FALSE, keep.diss = n < 100, keep.data = !diss)

80 x data matrix or data frame, or dissimilarity matrix, depending on the value of the diss argument. In case of a matrix or data frame, each row corresponds to an observation, and each column corresponds to a variable. All variables must be numeric. Missing values (NAs) are allowed. In case of a dissimilarity matrix, x is typically the output of daisy or dist. Also a vector of length n*(n-1)/2 is allowed (where n is the number of observations), and will be interpreted in the same way as the output of the above-mentioned functions. Missing values (NAs) are not allowed.daisydist k integer giving the desired number of clusters. It is required that 0 < k < n/2 where n is the number of observations. diss logical flag: if TRUE (default for dist or dissimilarity objects memb.exp number r strictly larger than 1 specifying the membership exponent used in the fit criterion; see the Details below. Default: 2 which used to be hardwired inside FANNY. metric character string specifying the metric to be used for calculating dissimilarities between observations. Options are "euclidean" (default), "manhattan", and "SqEuclidean". Euclidean distances are root sum-of-squares of differences, and manhattan distances are the sum of absolute differences, and "SqEuclidean", the squared euclidean distances are sum-of-squares of differences. Using this last option is equivalent (but somewhat slower) to computing so called fuzzy C-means. iniMem.p numeric n * k matrix or NULL (by default); can be used to specify a starting membership matrix maxit, tol maximal number of iterations and default tolerance for convergence (relative convergence of the fit criterion) for the FANNY algorithm fanny(x, k, diss = inherits(x, "dist"), memb.exp = 2, metric = c("euclidean", "manhattan", "SqEuclidean"), stand = FALSE, iniMem.p = NULL, cluster.only = FALSE, keep.diss = !diss && !cluster.only && n < 100, keep.data = !diss && !cluster.only, maxit = 500, tol = 1e-15, trace.lev = 0)

81 do.swap logical indicating if the swap phase should happen. The default, TRUE, correspond to the original algorithm. On the other hand, the swap phase is much more computer intensive than the build one for large n, so can be skipped by do.swap = FALSE. keep.diss, keep.data logicals indicating if the dissimilarities and/or input data x should be kept in the result. Setting these to FALSE can give much smaller results and hence even save memory allocation time. trace.lev integer specifying a trace level for printing diagnostics during the build and swap phase of the algorithm. Default 0 does not print anything; higher values print increasingly more. pam(x, k, diss = inherits(x, "dist"), metric = "euclidean", medoids = NULL, stand = FALSE, cluster.only = FALSE, do.swap = TRUE, keep.diss = !diss && !cluster.only && n < 100, keep.data = !diss && !cluster.only, trace.lev = 0)

82

83 kmeans

84 kmeans

85

86

87

88

89 otrzymamy dla każdej z obserwacji w zbiorze (przypomnijmy, że jest ich 150) numer grupy do której ta obserwacja należy. Widzimy więc, że obserwacje o numerach od 1 do 50 są przyporządkowane grupie 1, zaś pozostałe 100 obserwacji jest w miarę równomiernie rozłożone między grupy 2 i 3.

90

91

92

93 # Determine number of clusters wss <- (nrow(mydata)-1)*sum(apply(mydata,2,var)) for (i in 2:15) wss[i] <- sum(kmeans(mydata, centers=i)$withinss) plot(1:15, wss, type="b", xlab="Number of Clusters", ylab="Within groups sum of squares") # K-Means Cluster Analysis fit <- kmeans(mydata, 5) # 5 cluster solution # get cluster means aggregate(mydata,by=list(fit$cluster),FUN=mean) # append cluster assignment mydata <- data.frame(mydata, fit$cluster)

94

95

96

97 The function cluster.stats() in the fpc package provides a mechanism for comparing the similarity of two cluster solutions using a variety of validation criteria (Hubert's gamma coefficient, the Dunn index and the corrected rand index)fpc # comparing 2 cluster solutions library(fpc) cluster.stats(d, fit1$cluster, fit2$cluster) where d is a distance matrix among objects, and fit1$cluster and fit$cluster are integer vectors containing classification results from two different clusterings of the same data.

98 $n [1] 150 $cluster.number [1] 3 $cluster.size [1] $diameter [1] $average.distance [1] $median.distance [1] > fit <- kmeans(dane,3) > fit2 <- kmeans(dane,4) > cluster.stats(d, fit$cluster, fit2$cluster) $separation [1] $average.toother [1]

99 $separation.matrix [,1] [,2] [,3] [1,] [2,] [3,] $average.between [1] $average.within [1] $n.between [1] 7356 $n.within [1] 3819 $within.cluster.ss [1] $clus.avg.silwidths $avg.silwidth [1] $g2 NULL $g3 NULL $pearsongamma [1] $dunn [1] $entropy [1] $wb.ratio [1] $ch [1] $corrected.rand [1] $vi [1]

100 Traceis

101

102

103

104 Co to jest grupowanie ? Jak dzielimy algorytmy ? Kiedy stosować hierarchiczne a kiedy k-optymalizacyjne ? Jak ustalać liczbę k ? Jakie są wady metod grupowania ? Jakie narzędzia pozwalają na analizę skupień ? Czy są jakieś wymogi co do typu danych podlegających grupowaniu ?

105 Następny wykład : Testowanie hipotez statystycznych


Pobierz ppt "Agnieszka Nowak - Brzezińska. Metody eksploracji danych odkrywanie asocjacji odkrywanie wzorców sekwencji klasyfikacja analiza skupień - grupowanie szeregi."

Podobne prezentacje


Reklamy Google