Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Algorytmy grupowania danych. GrGr Grupowanie danych wokół medoidów przybliżone – Rough k-medoids Clustering.

Podobne prezentacje


Prezentacja na temat: "Algorytmy grupowania danych. GrGr Grupowanie danych wokół medoidów przybliżone – Rough k-medoids Clustering."— Zapis prezentacji:

1 Algorytmy grupowania danych

2 GrGr Grupowanie danych wokół medoidów przybliżone – Rough k-medoids Clustering

3 W klasycznym algorytmie grupowania wokół medoidów optymalizowana jest wartość zwartości podziału (pogrupowania danych) definiowana jako: gdzie:

4

5 W przybliżonym algorytmie k-medoidów, standardowe pojęcie zwartości pogrupowania zastąpione zostaje pojęciem przybliżonej zwartości pogrupowania danych. Przybliżona zwartość podziału – pogrupowania określa oddzielnie wpływ obiektów znajdujących się w dolnej aproksymacji klasy – skupienia od wpływu wywieranego przez obiekty znajdujące się na brzegu badanej klasy. Pojęcia dolnej i górnej aproksymacji oraz brzegu opierają się na pojęciach teorii zbiorów przybliżonych.

6 OZNACZENIA ORAZ POJĘCIA

7 ALGORYTM GRUPOWANIA DANYCH PRZYBLIŻONY WOKÓŁ MEDOIDÓW

8

9

10 DWIE KLASY – ICH BRZEG I DOLNE APROKSYMACJE

11 Jakość grupowania danych: wskaźnik Davies-Bouldin

12 PRZYKŁADOWE DANE + KOLEJNE ITERACJE ALGORYTMU GRUPOWANIA PRZYBLIŻONEGO WOKÓŁ MEDOIDÓW

13

14

15

16

17 public void ChangeMedoidObject(int _m, int _d) { double[] d1 = (double[])medL[_m]; double[] d2 = (double[])cL[_d]; medL.RemoveAt(_m); medL.Insert(_m,d2); cL.RemoveAt(_d); cL.Insert(_d, d1); GetLowerUpper(); DisplayImageData(); double dd = getRCPC(); if (dd < rcpc) { _d1 = _d; _m1 = _m; rcpc = dd; } medL.RemoveAt(_m); medL.Insert(_m, d1); cL.RemoveAt(_d); cL.Insert(_d, d2); } medL – lista medoidów cL – lista pozostałych obiektów getLowerUpper – przydzielenie punktów do klas – aproksymacje dolne i górne

18 public void GetGlobalRCPC() { rcpc = Double.MaxValue; for (int i = 0; i < C; i++) { for (int j = 0; j < cL.Count; j++) { ChangeMedoidObject(i, j); }

19 public void GetLowerUpper() { ClearClusters(); SetMedoids(); for (int i = 0; i < cL.Count; i++) { int di = 0; double dm = Double.MaxValue; double[] d1 = (double[])cL[i]; double[] dist = new double[C]; for (int j = 0; j < C; j++) { double[] d2 = (double[])medL[j]; double d3 = Distance.GetDistance(d1, d2); dist[j] = d3; if (dm > d3) { dm = d3; di = j; } int changed = 0; for (int j = 0; j < C; j++) { if (j == di) continue; if (Math.Abs(dist[j] - dm) < eps) { Cluster CL = (Cluster)mClusters[j]; CL.SetUpper(d1); } if (changed == 0) { Cluster CL = (Cluster)mClusters[di]; CL.SetLower(d1); }

20


Pobierz ppt "Algorytmy grupowania danych. GrGr Grupowanie danych wokół medoidów przybliżone – Rough k-medoids Clustering."

Podobne prezentacje


Reklamy Google