Fuzzy Clustering

PD Dr. Oliver Nakoinz

11.03.2020
License: CC BY-SA 4.0

Klassifikation

Problem der Zuweisung

Problem der Zuweisung

Klassifikation

Unscharfe Klassen

Unscharfe Klassen

Unschärfe

Fuzzy Sets

Zadeh1965

Fuzzy Sets

Fuzzy Sets

Fuzzy Sets

Fuzzy Sets

Fuzzy Sets

Fuzzy Clustering

Scharfe Klassen

Scharfe Klassen

Unscharfe Klassen

Unscharfe Klassen

Fuzzy Clustering

Abonyi 2007

Gustafson-Kessel Algorithmus n. Abonyi u. a. 2007

Gustafson-Kessel Algorithmus n. Abonyi u. a. 2007

Fanny

library(cluster)
keramik_funny <- cluster::fanny(x=Keramik[,2:3], 
                                k=3, metric = "euclidean",
                                cluster.only = FALSE)
keramik_funny$membership
##             [,1]       [,2]       [,3]
##  [1,] 0.94372810 0.01658067 0.03969124
##  [2,] 0.94862966 0.01521798 0.03615236
##  [3,] 0.93864333 0.01784508 0.04351160
##  [4,] 0.94784892 0.01529401 0.03685708
##  [5,] 0.88320702 0.03161274 0.08518025
##  [6,] 0.87490169 0.03456651 0.09053179
##  [7,] 0.04543928 0.87130718 0.08325354
##  [8,] 0.03815490 0.90076781 0.06107730
##  [9,] 0.13283595 0.16500331 0.70216074
## [10,] 0.05134867 0.03931871 0.90933263
## [11,] 0.05722993 0.03800922 0.90476085
## [12,] 0.21616485 0.09163579 0.69219936

Fanny

plot(keramik_funny)

Fuzzy K-means

library(fclust)
keramik_fkm <- fclust::FKM (X=Keramik[,2:3], 
                    k=3)
summary(keramik_fkm)
## 
##  Fuzzy clustering object of class 'fclust' 
##  
##  Number of objects: 
##  12
##  
##  Number of clusters: 
##  3
##  
##  Cluster sizes: 
## Clus 1 Clus 2 Clus 3 
##      6      4      2 
## 
##  
##  Clustering index values: 
## SIL.F k=3 
## 0.9253483 
## 
##  
##  Closest hard clustering partition: 
##  Obj 1  Obj 2  Obj 3  Obj 4  Obj 5  Obj 6  Obj 7  Obj 8  Obj 9 Obj 10 Obj 11 
##      1      1      1      1      1      1      3      3      2      2      2 
## Obj 12 
##      2 
## 
##  Cluster memberships:
##   Clus 1
##  [1] "Obj 1" "Obj 2" "Obj 3" "Obj 4" "Obj 5" "Obj 6"
##  Clus 2
##  [1] "Obj 9"  "Obj 10" "Obj 11" "Obj 12"
##  Clus 3
##  [1] "Obj 7" "Obj 8"
## 
##  Number of objects with unclear assignment (maximal membership degree <0.5): 
##  0
##  
##  Membership degree matrix (rounded): 
##        Clus 1 Clus 2 Clus 3
## Obj 1    0.99   0.01   0.00
## Obj 2    1.00   0.00   0.00
## Obj 3    1.00   0.00   0.00
## Obj 4    0.99   0.01   0.00
## Obj 5    0.99   0.01   0.00
## Obj 6    0.98   0.02   0.00
## Obj 7    0.01   0.03   0.96
## Obj 8    0.01   0.02   0.98
## Obj 9    0.06   0.86   0.08
## Obj 10   0.00   1.00   0.00
## Obj 11   0.01   0.99   0.00
## Obj 12   0.17   0.80   0.03
## 
##  Cluster summary: 
##        Cl.size Min.memb.deg. Max.memb.deg. Av.memb.deg. N.uncl.assignm.
## Clus 1       6          0.98          1.00         0.99               0
## Clus 2       4          0.80          1.00         0.91               0
## Clus 3       2          0.96          0.98         0.97               0
## 
##  Euclidean distance matrix for the prototypes (rounded): 
##        Clus 1 Clus 2
## Clus 2  19.40       
## Clus 3  45.32  28.20
## 
##  Available components: 
##  [1] "U"         "H"         "F"         "clus"      "medoid"    "value"    
##  [7] "criterion" "iter"      "k"         "m"         "ent"       "b"        
## [13] "vp"        "delta"     "stand"     "Xca"       "X"         "D"        
## [19] "call"     
## 
## 

Fuzzy K-means

plot(keramik_fkm, pca = TRUE)

Gustafson-Kessel

library(fclust)
keramik_fkm.gk <- fclust::FKM.gk (X=Keramik[,2:3], 
                    k=3)
summary(keramik_fkm.gk)
## 
##  Fuzzy clustering object of class 'fclust' 
##  
##  Number of objects: 
##  12
##  
##  Number of clusters: 
##  3
##  
##  Cluster sizes: 
## Clus 1 Clus 2 Clus 3 
##      4      2      6 
## 
##  
##  Clustering index values: 
## SIL.F k=3 
## 0.6092347 
## 
##  
##  Closest hard clustering partition: 
##  Obj 1  Obj 2  Obj 3  Obj 4  Obj 5  Obj 6  Obj 7  Obj 8  Obj 9 Obj 10 Obj 11 
##      3      3      3      3      3      3      1      1      1      1      2 
## Obj 12 
##      2 
## 
##  Cluster memberships:
##   Clus 1
##  [1] "Obj 7"  "Obj 8"  "Obj 9"  "Obj 10"
##  Clus 2
##  [1] "Obj 11" "Obj 12"
##  Clus 3
##  [1] "Obj 1" "Obj 2" "Obj 3" "Obj 4" "Obj 5" "Obj 6"
## 
##  Number of objects with unclear assignment (maximal membership degree <0.5): 
##  0
##  
##  Membership degree matrix (rounded): 
##        Clus 1 Clus 2 Clus 3
## Obj 1    0.00      0   1.00
## Obj 2    0.00      0   1.00
## Obj 3    0.00      0   1.00
## Obj 4    0.00      0   1.00
## Obj 5    0.00      0   1.00
## Obj 6    0.00      0   1.00
## Obj 7    1.00      0   0.00
## Obj 8    1.00      0   0.00
## Obj 9    0.99      0   0.01
## Obj 10   0.99      0   0.01
## Obj 11   0.00      1   0.00
## Obj 12   0.00      1   0.00
## 
##  Cluster summary: 
##        Cl.size Min.memb.deg. Max.memb.deg. Av.memb.deg. N.uncl.assignm.
## Clus 1       4          0.99             1         0.99               0
## Clus 2       2          1.00             1         1.00               0
## Clus 3       6          1.00             1         1.00               0
## 
##  Euclidean distance matrix for the prototypes (rounded): 
##        Clus 1 Clus 2
## Clus 2  20.15       
## Clus 3  33.69  16.76
## 
##  Available components: 
##  [1] "U"         "H"         "F"         "clus"      "medoid"    "value"    
##  [7] "criterion" "iter"      "k"         "m"         "ent"       "b"        
## [13] "vp"        "delta"     "stand"     "Xca"       "X"         "D"        
## [19] "call"     
## 
## 

Gustafson-Kessel

plot(keramik_fkm.gk, pca = TRUE)