1734 lines
65 KiB
Plaintext
Raw Normal View History

2025-01-12 00:52:51 +08:00
R version 4.3.2 Patched (2023-11-30 r85647) -- "Eye Holes"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> ## IGNORE_RDIFF_BEGIN
> .libPaths() # show full library tree {also as check of R CMD check!}
[1] "/tmp/RtmpeWFqQT/RLIBS_28dee75f47fb34"
[2] "/u/maechler/R/D/r-patched/F38-64-inst/library"
> ## IGNORE_RDIFF_END
> library(cluster)
>
> ####---------- Tests for FANNY i.e., fanny() --------------------------
> ####
> ### -- thanks to ../.Rbuildignore , the output of this is
> ### -- only compared to saved values for the maintainer
>
> ###--- An extension of example(fanny) : -------------------
> set.seed(21)
> ## generate 10+15 objects in two clusters, plus 3 objects lying
> ## between those clusters.
> x <- rbind(cbind(rnorm(10, 0, 0.5), rnorm(10, 0, 0.5)),
+ cbind(rnorm(15, 5, 0.5), rnorm(15, 5, 0.5)),
+ cbind(rnorm( 3,3.2,0.5), rnorm( 3,3.2,0.5)))
>
> .proctime00 <- proc.time()
>
> (fannyx <- fanny(x, 2))
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 14.17769
tolerance 1e-15
iterations 9
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 89 11
[2,] 95 5
[3,] 92 8
[4,] 94 6
[5,] 89 11
[6,] 93 7
[7,] 92 8
[8,] 93 7
[9,] 95 5
[10,] 96 4
[11,] 5 95
[12,] 7 93
[13,] 4 96
[14,] 7 93
[15,] 5 95
[16,] 6 94
[17,] 10 90
[18,] 5 95
[19,] 4 96
[20,] 8 92
[21,] 8 92
[22,] 4 96
[23,] 6 94
[24,] 6 94
[25,] 12 88
[26,] 40 60
[27,] 22 78
[28,] 29 71
Fuzzyness coefficients:
dunn_coeff normalized
0.8436121 0.6872242
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> summary(fannyx)
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 14.17769
tolerance 1e-15
iterations 9
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 89 11
[2,] 95 5
[3,] 92 8
[4,] 94 6
[5,] 89 11
[6,] 93 7
[7,] 92 8
[8,] 93 7
[9,] 95 5
[10,] 96 4
[11,] 5 95
[12,] 7 93
[13,] 4 96
[14,] 7 93
[15,] 5 95
[16,] 6 94
[17,] 10 90
[18,] 5 95
[19,] 4 96
[20,] 8 92
[21,] 8 92
[22,] 4 96
[23,] 6 94
[24,] 6 94
[25,] 12 88
[26,] 40 60
[27,] 22 78
[28,] 29 71
Fuzzyness coefficients:
dunn_coeff normalized
0.8436121 0.6872242
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Silhouette plot information:
cluster neighbor sil_width
10 1 2 0.8803873
9 1 2 0.8726948
2 1 2 0.8624826
4 1 2 0.8569474
8 1 2 0.8446916
7 1 2 0.8379922
6 1 2 0.8260655
3 1 2 0.8218139
1 1 2 0.8018154
5 1 2 0.7778144
22 2 1 0.8622465
19 2 1 0.8526094
11 2 1 0.8524562
13 2 1 0.8521850
18 2 1 0.8474339
15 2 1 0.8473217
16 2 1 0.8430436
23 2 1 0.8391805
24 2 1 0.8387914
12 2 1 0.8326846
14 2 1 0.8293329
20 2 1 0.8187388
21 2 1 0.8173937
17 2 1 0.7951874
25 2 1 0.7718178
27 2 1 0.6444521
28 2 1 0.5321902
26 2 1 0.3304049
Average silhouette width per cluster:
[1] 0.8382705 0.7781928
Average silhouette width of total data set:
[1] 0.7996491
378 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.07909 1.03510 2.98900 3.88190 6.89260 8.44010
Metric : euclidean
Number of objects : 28
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> str(fannyx)
List of 11
$ membership : num [1:28, 1:2] 0.889 0.953 0.916 0.937 0.891 ...
$ coeff : Named num [1:2] 0.844 0.687
..- attr(*, "names")= chr [1:2] "dunn_coeff" "normalized"
$ memb.exp : num 2
$ clustering : int [1:28] 1 1 1 1 1 1 1 1 1 1 ...
$ k.crisp : num 2
$ objective : Named num [1:2] 1.42e+01 1.00e-15
..- attr(*, "names")= chr [1:2] "objective" "tolerance"
$ convergence: Named int [1:3] 9 1 500
..- attr(*, "names")= chr [1:3] "iterations" "converged" "maxit"
$ diss : 'dissimilarity' num [1:378] 1.523 0.987 1.602 1.584 1.903 ...
..- attr(*, "Size")= int 28
..- attr(*, "Metric")= chr "euclidean"
$ call : language fanny(x = x, k = 2)
$ silinfo :List of 3
..$ widths : num [1:28, 1:3] 1 1 1 1 1 1 1 1 1 1 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:28] "10" "9" "2" "4" ...
.. .. ..$ : chr [1:3] "cluster" "neighbor" "sil_width"
..$ clus.avg.widths: num [1:2] 0.838 0.778
..$ avg.width : num 0.8
$ data : num [1:28, 1:2] 0.397 0.261 0.873 -0.636 1.099 ...
- attr(*, "class")= chr [1:2] "fanny" "partition"
> ## Different platforms differ (even gcc 3.0.1 vs 3.2 on same platform)!
> ## {70 or 71 iterations}
> ## ==> No "fanny-ex.Rout.save" is distributed !
> ## --------------------------------------------
> summary(fanny(x,3))# one extra cluster
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 9.39325
tolerance 1e-15
iterations 45
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2] [,3]
[1,] 80 10 11
[2,] 91 4 5
[3,] 84 8 9
[4,] 88 5 6
[5,] 79 10 12
[6,] 86 7 8
[7,] 86 7 8
[8,] 87 6 7
[9,] 91 4 5
[10,] 93 3 4
[11,] 3 55 43
[12,] 3 72 25
[13,] 3 41 57
[14,] 4 61 35
[15,] 2 75 23
[16,] 3 54 42
[17,] 5 37 58
[18,] 3 38 60
[19,] 2 38 59
[20,] 4 66 30
[21,] 4 41 55
[22,] 2 61 37
[23,] 3 73 24
[24,] 4 58 38
[25,] 7 43 50
[26,] 22 31 47
[27,] 11 32 58
[28,] 15 33 52
Fuzzyness coefficients:
dunn_coeff normalized
0.5864035 0.3796053
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 3 2 2 2 3 3 3 2 3 2 2 2 3 3 3 3
Silhouette plot information:
cluster neighbor sil_width
10 1 3 0.86761636
9 1 3 0.85927690
2 1 3 0.84637141
4 1 3 0.84263476
8 1 3 0.82827133
7 1 3 0.82191633
6 1 3 0.80515251
3 1 3 0.80077380
1 1 3 0.78174030
5 1 3 0.74877291
23 2 3 0.69381057
15 2 3 0.68790994
12 2 3 0.68113233
20 2 3 0.60243554
24 2 3 0.53703144
22 2 3 0.51528059
14 2 3 0.49467784
11 2 3 0.47962831
16 2 3 0.47844504
27 3 2 0.34881727
28 3 2 0.33616051
26 3 2 0.32389804
17 3 2 -0.02523208
21 3 2 -0.16440140
25 3 2 -0.21039298
18 3 2 -0.21192236
19 3 2 -0.26773065
13 3 2 -0.29006339
Average silhouette width per cluster:
[1] 0.82025266 0.57448351 -0.01787412
Average silhouette width of total data set:
[1] 0.4718575
378 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.07909 1.03510 2.98900 3.88190 6.89260 8.44010
Metric : euclidean
Number of objects : 28
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
>
> (fanny(x,2, memb.exp = 1.5))
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 1.5
objective 16.08227
tolerance 1e-15
iterations 10
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 99 1
[2,] 100 0
[3,] 99 1
[4,] 100 0
[5,] 98 2
[6,] 99 1
[7,] 99 1
[8,] 99 1
[9,] 100 0
[10,] 100 0
[11,] 0 100
[12,] 1 99
[13,] 0 100
[14,] 1 99
[15,] 0 100
[16,] 0 100
[17,] 1 99
[18,] 0 100
[19,] 0 100
[20,] 1 99
[21,] 1 99
[22,] 0 100
[23,] 0 100
[24,] 0 100
[25,] 2 98
[26,] 26 74
[27,] 6 94
[28,] 12 88
Fuzzyness coefficients:
dunn_coeff normalized
0.9635331 0.9270661
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> (fanny(x,2, memb.exp = 1.2))
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 1.2
objective 16.49219
tolerance 1e-15
iterations 7
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 100 0
[2,] 100 0
[3,] 100 0
[4,] 100 0
[5,] 100 0
[6,] 100 0
[7,] 100 0
[8,] 100 0
[9,] 100 0
[10,] 100 0
[11,] 0 100
[12,] 0 100
[13,] 0 100
[14,] 0 100
[15,] 0 100
[16,] 0 100
[17,] 0 100
[18,] 0 100
[19,] 0 100
[20,] 0 100
[21,] 0 100
[22,] 0 100
[23,] 0 100
[24,] 0 100
[25,] 0 100
[26,] 5 95
[27,] 0 100
[28,] 0 100
Fuzzyness coefficients:
dunn_coeff normalized
0.9964339 0.9928679
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> (fanny(x,2, memb.exp = 1.1))
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 1.1
objective 16.51151
tolerance 1e-15
iterations 5
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 100 0
[2,] 100 0
[3,] 100 0
[4,] 100 0
[5,] 100 0
[6,] 100 0
[7,] 100 0
[8,] 100 0
[9,] 100 0
[10,] 100 0
[11,] 0 100
[12,] 0 100
[13,] 0 100
[14,] 0 100
[15,] 0 100
[16,] 0 100
[17,] 0 100
[18,] 0 100
[19,] 0 100
[20,] 0 100
[21,] 0 100
[22,] 0 100
[23,] 0 100
[24,] 0 100
[25,] 0 100
[26,] 0 100
[27,] 0 100
[28,] 0 100
Fuzzyness coefficients:
dunn_coeff normalized
0.9998489 0.9996979
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> (fanny(x,2, memb.exp = 3))
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 3
objective 8.844693
tolerance 1e-15
iterations 11
converged 1
maxit 500
n 28
Membership coefficients (in %, rounded):
[,1] [,2]
[1,] 73 27
[2,] 82 18
[3,] 76 24
[4,] 79 21
[5,] 74 26
[6,] 78 22
[7,] 77 23
[8,] 79 21
[9,] 81 19
[10,] 82 18
[11,] 18 82
[12,] 21 79
[13,] 18 82
[14,] 22 78
[15,] 19 81
[16,] 20 80
[17,] 26 74
[18,] 19 81
[19,] 18 82
[20,] 23 77
[21,] 23 77
[22,] 16 84
[23,] 21 79
[24,] 21 79
[25,] 28 72
[26,] 46 54
[27,] 36 64
[28,] 40 60
Fuzzyness coefficients:
dunn_coeff normalized
0.6516764 0.3033528
Closest hard clustering:
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> ## for subsetting, when compairing:
> not.conv <- setdiff(names(fannyx), c("convergence", "call"))
> notMconv <- setdiff(names(fannyx), c("membership", "convergence", "call"))
>
> data(ruspini) # < to run under R 1.9.1
> summary(fanny(ruspini, 3), digits = 9)
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 719.5606
tolerance 1e-15
iterations 21
converged 1
maxit 500
n 75
Membership coefficients (in %, rounded):
[,1] [,2] [,3]
1 68 13 19
2 73 12 15
3 76 10 14
4 73 14 13
5 69 11 20
6 80 9 11
7 64 20 16
8 79 10 11
9 83 7 10
10 85 7 9
11 82 9 10
12 82 8 10
13 78 11 12
14 81 7 12
15 77 8 15
16 81 7 12
17 70 10 20
18 79 8 13
19 78 8 14
20 73 12 15
21 17 74 10
22 14 78 8
23 12 80 8
24 14 78 8
25 10 83 6
26 9 86 5
27 10 84 6
28 11 83 6
29 14 77 8
30 14 78 8
31 11 83 7
32 8 87 5
33 8 87 5
34 8 87 5
35 8 88 5
36 9 86 6
37 8 86 5
38 9 86 6
39 9 85 6
40 11 82 7
41 20 68 12
42 13 78 9
43 13 78 9
44 22 61 17
45 27 52 21
46 33 39 28
47 35 38 28
48 35 39 26
49 26 53 22
50 27 50 24
51 25 53 22
52 26 51 23
53 25 54 21
54 27 48 24
55 28 45 27
56 28 44 27
57 27 47 26
58 26 49 24
59 28 46 27
60 28 44 28
61 15 8 77
62 12 6 82
63 13 8 79
64 11 5 83
65 8 4 88
66 11 6 83
67 7 4 89
68 14 7 79
69 8 4 89
70 7 3 90
71 7 3 89
72 11 5 83
73 11 6 83
74 12 6 81
75 13 6 81
Fuzzyness coefficients:
dunn_coeff normalized
0.6045235 0.4067852
Closest hard clustering:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
Silhouette plot information:
cluster neighbor sil_width
10 1 3 0.8056096
6 1 3 0.7954977
9 1 3 0.7923048
11 1 3 0.7831672
8 1 3 0.7823246
12 1 3 0.7658171
3 1 3 0.7587961
14 1 3 0.7569107
4 1 3 0.7532051
2 1 3 0.7456150
16 1 3 0.7436018
13 1 3 0.7398841
18 1 3 0.7080079
15 1 3 0.7006854
19 1 3 0.7000938
1 1 3 0.6798381
5 1 3 0.6646571
20 1 3 0.6619626
7 1 2 0.6437853
17 1 3 0.6148541
39 2 1 0.6283295
38 2 1 0.6262721
40 2 1 0.6255492
43 2 1 0.6243319
36 2 1 0.6221530
35 2 1 0.6178548
37 2 1 0.6121605
42 2 1 0.6088119
44 2 1 0.6066538
32 2 1 0.6052260
34 2 1 0.5958391
31 2 1 0.5954537
33 2 1 0.5899279
26 2 1 0.5890979
53 2 1 0.5846364
51 2 1 0.5785105
49 2 1 0.5734352
25 2 1 0.5691955
52 2 1 0.5584872
27 2 1 0.5574419
28 2 1 0.5478805
23 2 1 0.5457126
58 2 1 0.5443257
50 2 1 0.5431889
54 2 1 0.5338363
24 2 1 0.5282567
45 2 1 0.5249071
57 2 1 0.5237845
22 2 1 0.5150893
59 2 3 0.5015850
30 2 1 0.4973340
55 2 1 0.4949786
29 2 1 0.4899519
56 2 3 0.4856790
41 2 1 0.4816846
60 2 3 0.4766350
21 2 1 0.4658079
46 2 1 0.3138537
47 2 1 0.2329901
48 2 1 0.2275249
70 3 1 0.8548947
67 3 1 0.8527439
65 3 1 0.8503105
69 3 1 0.8391810
71 3 1 0.8381065
66 3 1 0.8229841
62 3 1 0.8153092
64 3 1 0.8061254
73 3 1 0.7950213
63 3 1 0.7795369
72 3 1 0.7748121
61 3 1 0.7701103
68 3 1 0.7620559
74 3 1 0.7596815
75 3 1 0.7425538
Average silhouette width per cluster:
[1] 0.7298309 0.5361094 0.8042285
Average silhouette width of total data set:
[1] 0.6413923
2775 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.414 40.106 75.591 71.538 99.169 154.500
Metric : euclidean
Number of objects : 75
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> summary(fanny(ruspini, 4), digits = 9)# 'correct' #{clusters}
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 422.8389
tolerance 1e-15
iterations 12
converged 1
maxit 500
n 75
Membership coefficients (in %, rounded):
[,1] [,2] [,3] [,4]
1 66 10 9 15
2 71 9 8 11
3 76 7 6 10
4 69 11 9 11
5 68 9 8 15
6 80 7 6 8
7 57 18 13 13
8 76 9 7 9
9 85 5 4 7
10 86 4 4 6
11 78 7 6 8
12 78 7 7 9
13 72 10 9 10
14 82 5 5 8
15 76 6 6 11
16 81 5 5 9
17 68 8 8 16
18 77 6 6 11
19 75 7 7 11
20 65 11 11 14
21 10 74 10 6
22 7 80 8 4
23 6 82 8 4
24 8 79 9 5
25 5 87 6 3
26 4 89 5 2
27 4 87 5 3
28 5 85 6 3
29 8 78 9 5
30 8 79 9 5
31 6 81 9 4
32 3 89 5 2
33 4 87 6 3
34 5 84 7 3
35 4 87 6 3
36 5 83 8 4
37 6 79 10 4
38 7 76 12 5
39 7 78 11 4
40 8 71 15 6
41 16 49 25 10
42 12 57 23 8
43 12 55 25 8
44 10 23 59 8
45 10 16 65 8
46 17 18 51 15
47 20 20 44 17
48 21 21 42 16
49 4 7 85 4
50 4 6 87 4
51 5 8 83 4
52 3 5 88 3
53 6 11 78 5
54 4 5 88 3
55 6 7 82 5
56 6 8 80 6
57 4 6 85 4
58 7 11 76 6
59 7 10 77 7
60 8 11 74 8
61 12 6 8 74
62 9 5 6 79
63 11 6 9 74
64 8 4 5 83
65 6 3 3 88
66 9 4 6 81
67 5 2 3 91
68 12 5 6 77
69 5 2 3 89
70 4 2 3 91
71 5 2 3 89
72 10 4 5 81
73 10 5 7 79
74 11 5 7 76
75 12 5 6 77
Fuzzyness coefficients:
dunn_coeff normalized
0.6237448 0.4983264
Closest hard clustering:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Silhouette plot information:
cluster neighbor sil_width
10 1 4 0.8056096
6 1 4 0.7954977
9 1 4 0.7923048
11 1 4 0.7831672
8 1 2 0.7811793
12 1 4 0.7658171
3 1 4 0.7587961
14 1 4 0.7569107
2 1 4 0.7456150
16 1 4 0.7436018
13 1 4 0.7398841
4 1 2 0.7361533
18 1 4 0.7080079
15 1 4 0.7006854
19 1 4 0.7000938
1 1 4 0.6798381
5 1 4 0.6646571
20 1 4 0.6619626
17 1 4 0.6148541
7 1 2 0.5900575
26 2 3 0.8357433
32 2 3 0.8332753
27 2 3 0.8290271
25 2 3 0.8285547
28 2 3 0.8192636
35 2 3 0.8186309
33 2 3 0.8175087
23 2 3 0.8089969
22 2 3 0.8025389
34 2 3 0.8013310
31 2 3 0.7949677
36 2 3 0.7943536
24 2 3 0.7930770
29 2 3 0.7897346
30 2 3 0.7892027
21 2 3 0.7698024
37 2 3 0.7684502
39 2 3 0.7631648
38 2 3 0.7438848
40 2 3 0.7083130
42 2 3 0.5291270
43 2 3 0.4931623
41 2 3 0.4290814
54 3 2 0.7741745
57 3 2 0.7703455
55 3 2 0.7641810
50 3 2 0.7619943
52 3 2 0.7616220
56 3 2 0.7575313
59 3 2 0.7327828
49 3 2 0.7317002
51 3 2 0.7209864
60 3 2 0.7206840
58 3 2 0.7019611
53 3 2 0.6775322
45 3 2 0.5974787
46 3 2 0.5740823
47 3 2 0.4835635
48 3 2 0.4247331
44 3 2 0.4196093
70 4 1 0.8548947
67 4 1 0.8527439
65 4 1 0.8503105
69 4 1 0.8391810
71 4 1 0.8381065
66 4 1 0.8229841
62 4 1 0.8153092
64 4 1 0.8061254
73 4 1 0.7950213
63 4 1 0.7795369
72 4 1 0.7748121
61 4 1 0.7701103
68 4 1 0.7620559
74 4 1 0.7596815
75 4 1 0.7425538
Average silhouette width per cluster:
[1] 0.7262347 0.7548344 0.6691154 0.8042285
Average silhouette width of total data set:
[1] 0.737657
2775 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.414 40.106 75.591 71.538 99.169 154.500
Metric : euclidean
Number of objects : 75
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
> summary(fanny(ruspini, 5), digits = 9)
Fuzzy Clustering object of class 'fanny' :
m.ship.expon. 2
objective 344.054
tolerance 1e-15
iterations 30
converged 1
maxit 500
n 75
Membership coefficients (in %, rounded):
[,1] [,2] [,3] [,4] [,5]
1 60 10 10 8 13
2 65 9 9 7 10
3 71 7 7 6 9
4 60 11 11 8 10
5 63 8 8 7 14
6 74 7 7 5 7
7 47 16 16 10 11
8 68 8 9 6 8
9 81 4 4 4 6
10 83 4 4 4 5
11 72 7 7 6 8
12 72 7 7 6 8
13 64 9 10 8 9
14 79 5 5 4 7
15 73 6 6 5 10
16 78 5 5 5 8
17 64 7 8 7 14
18 73 6 6 6 10
19 71 6 7 6 10
20 58 10 11 9 12
21 5 60 26 6 3
22 4 67 23 4 2
23 4 65 25 4 2
24 4 62 26 5 3
25 3 68 25 3 2
26 3 61 31 3 2
27 3 69 24 3 2
28 3 64 27 4 2
29 4 63 25 5 3
30 4 61 27 5 3
31 4 47 41 6 3
32 3 48 44 4 2
33 3 43 48 4 2
34 3 35 56 4 2
35 3 36 56 4 2
36 3 34 56 5 2
37 3 26 64 5 2
38 3 24 65 5 2
39 4 30 58 6 2
40 5 31 53 8 3
41 10 28 41 15 6
42 6 26 51 12 4
43 6 25 50 13 4
44 8 17 24 44 7
45 9 14 18 52 7
46 14 15 18 41 12
47 16 16 20 34 14
48 17 17 21 32 13
49 4 6 8 78 4
50 4 5 7 82 3
51 4 7 9 76 4
52 3 5 6 84 3
53 6 9 12 69 5
54 3 4 6 84 3
55 5 6 7 77 5
56 5 7 8 75 5
57 4 5 6 82 3
58 6 9 11 69 5
59 6 8 10 71 6
60 7 9 11 67 7
61 12 6 6 7 69
62 9 5 5 6 75
63 11 6 6 8 69
64 8 4 4 4 80
65 5 3 3 3 86
66 8 4 5 6 77
67 4 2 2 2 89
68 11 5 5 6 73
69 5 2 2 3 88
70 4 2 2 3 89
71 5 2 2 3 87
72 9 4 4 5 78
73 9 5 5 6 75
74 11 5 6 7 71
75 11 5 5 6 73
Fuzzyness coefficients:
dunn_coeff normalized
0.5114030 0.3892538
Closest hard clustering:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Silhouette plot information:
cluster neighbor sil_width
10 1 5 0.80560959
6 1 5 0.79549768
9 1 5 0.79230476
11 1 5 0.78316718
8 1 2 0.77898970
12 1 5 0.76581709
3 1 5 0.75879612
14 1 5 0.75691067
2 1 5 0.74561500
16 1 5 0.74360183
13 1 5 0.73988410
4 1 2 0.73129406
18 1 5 0.70800786
15 1 5 0.70068540
19 1 5 0.70009384
1 1 5 0.67983808
5 1 5 0.66465711
20 1 5 0.66196261
17 1 5 0.61485412
7 1 2 0.57933844
22 2 3 0.64692795
23 2 3 0.61550541
24 2 3 0.60008003
25 2 3 0.58870755
21 2 3 0.58680476
29 2 3 0.57562680
27 2 3 0.53630654
30 2 3 0.50899690
28 2 3 0.47603437
26 2 3 0.45468170
31 2 3 0.22164438
32 2 3 0.17652220
43 3 2 0.45636660
42 3 2 0.45534454
38 3 2 0.45388647
37 3 2 0.37929513
39 3 2 0.28792444
40 3 2 0.27156486
41 3 2 0.26700037
34 3 2 0.13274819
36 3 2 0.13049634
35 3 2 0.03864907
33 3 2 -0.10466026
54 4 3 0.74140256
57 4 3 0.73972663
55 4 3 0.73410322
56 4 3 0.72732850
50 4 3 0.72559236
52 4 3 0.72450938
59 4 3 0.70004311
60 4 3 0.68771996
49 4 3 0.68729634
51 4 3 0.67478586
58 4 3 0.66155189
53 4 3 0.62364614
45 4 3 0.52499298
46 4 3 0.52187006
47 4 3 0.42305501
48 4 3 0.35520120
44 4 3 0.28882028
70 5 1 0.85489470
67 5 1 0.85274392
65 5 1 0.85031051
69 5 1 0.83918099
71 5 1 0.83810647
66 5 1 0.82298407
62 5 1 0.81530920
64 5 1 0.80612543
73 5 1 0.79502130
63 5 1 0.77953687
72 5 1 0.77481212
61 5 1 0.77011029
68 5 1 0.76205594
74 5 1 0.75968147
75 5 1 0.74255385
Average silhouette width per cluster:
[1] 0.7253463 0.4989865 0.2516923 0.6200968 0.8042285
Average silhouette width of total data set:
[1] 0.6115794
2775 dissimilarities, summarized :
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.414 40.106 75.591 71.538 99.169 154.500
Metric : euclidean
Number of objects : 75
Available components:
[1] "membership" "coeff" "memb.exp" "clustering" "k.crisp"
[6] "objective" "convergence" "diss" "call" "silinfo"
[11] "data"
>
> cat('Time elapsed: ', proc.time() - .proctime00,'\n')
Time elapsed: 0.042 0.008 0.052 0 0
> data(chorSub)
> p4cl <- pam(chorSub, k = 4, cluster.only = TRUE)
> ## The first two are "completely fuzzy" -- and now give a warnings
> f4.20 <- fanny(chorSub, k = 4, trace.lev = 1)
fanny()'s fuzzy(n = 61, k = 4):
fuzzy(): initial obj = 8277.57
Converged after 44 iterations, obj = 2665.982
fanny()'s caddy(*, k = 4):
-> k_true (crisp) = 2 < k (= 4) !!
Warning message:
In fanny(chorSub, k = 4, trace.lev = 1) :
the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ?
> ## IGNORE_RDIFF_BEGIN
> f4.20$coef
dunn_coeff normalized
2.500000e-01 3.330669e-15
> ## IGNORE_RDIFF_END
> stopifnot(all.equal(f4.20$coef, c(dunn_coeff = 0.25, normalized = 3.330669e-15)))
> f4.18 <- fanny(chorSub, k = 4, memb.exp = 1.8) # same problem
Warning message:
In fanny(chorSub, k = 4, memb.exp = 1.8) :
the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ?
> f4.18. <- fanny(chorSub, k = 4, memb.exp = 1.8,
+ iniMem.p = f4.20$membership) # very quick convergence
Warning message:
In fanny(chorSub, k = 4, memb.exp = 1.8, iniMem.p = f4.20$membership) :
the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ?
> stopifnot(all.equal(f4.18[not.conv], f4.18.[not.conv], tol = 5e-7))
>
> f4.16 <- fanny(chorSub, k = 4, memb.exp = 1.6) # now gives 4 crisp clusters
> ## IGNORE_RDIFF_BEGIN
> f4.16. <- fanny(chorSub, k = 4, memb.exp = 1.6,
+ iniMem.p = f4.18$membership, trace.lev = 2)# wrongly "converged" immediately; no longer!
fanny()'s fuzzy(n = 61, k = 4):
fuzzy(): initial obj = 4641.75
ef[]= ( 15405.8, 15405.8, 15405.8, 15405.8)
esp[]= ( 6.63795, 6.63795, 6.63795, 6.63795)
m == n: obj = 4641.7451124068 not converged: it = 1
m == n: obj = 4641.7451124068 not converged: it = 2
m == n: obj = 4641.7451124067 not converged: it = 3
m == n: obj = 4641.7451124067 not converged: it = 4
m == n: obj = 4641.7451124066 not converged: it = 5
m == n: obj = 4641.7451124065 not converged: it = 6
m == n: obj = 4641.7451124064 not converged: it = 7
m == n: obj = 4641.7451124062 not converged: it = 8
m == n: obj = 4641.7451124059 not converged: it = 9
m == n: obj = 4641.7451124055 not converged: it = 10
m == n: obj = 4641.7451124048 not converged: it = 11
m == n: obj = 4641.7451124038 not converged: it = 12
m == n: obj = 4641.7451124024 not converged: it = 13
m == n: obj = 4641.7451124002 not converged: it = 14
m == n: obj = 4641.7451123969 not converged: it = 15
m == n: obj = 4641.7451123920 not converged: it = 16
m == n: obj = 4641.7451123848 not converged: it = 17
m == n: obj = 4641.7451123740 not converged: it = 18
m == n: obj = 4641.7451123580 not converged: it = 19
m == n: obj = 4641.7451123342 not converged: it = 20
m == n: obj = 4641.7451122987 not converged: it = 21
m == n: obj = 4641.7451122458 not converged: it = 22
m == n: obj = 4641.7451121672 not converged: it = 23
m == n: obj = 4641.7451120502 not converged: it = 24
m == n: obj = 4641.7451118760 not converged: it = 25
m == n: obj = 4641.7451116168 not converged: it = 26
m == n: obj = 4641.7451112310 not converged: it = 27
m == n: obj = 4641.7451106568 not converged: it = 28
m == n: obj = 4641.7451098021 not converged: it = 29
m == n: obj = 4641.7451085301 not converged: it = 30
m == n: obj = 4641.7451066368 not converged: it = 31
m == n: obj = 4641.7451038188 not converged: it = 32
m == n: obj = 4641.7450996246 not converged: it = 33
m == n: obj = 4641.7450933819 not converged: it = 34
m == n: obj = 4641.7450840901 not converged: it = 35
m == n: obj = 4641.7450702597 not converged: it = 36
m == n: obj = 4641.7450496738 not converged: it = 37
m == n: obj = 4641.7450190318 not converged: it = 38
m == n: obj = 4641.7449734207 not converged: it = 39
m == n: obj = 4641.7449055260 not converged: it = 40
m == n: obj = 4641.7448044581 not converged: it = 41
m == n: obj = 4641.7446540036 not converged: it = 42
m == n: obj = 4641.7444300216 not converged: it = 43
m == n: obj = 4641.7440965647 not converged: it = 44
m == n: obj = 4641.7436001025 not converged: it = 45
m == n: obj = 4641.7428609171 not converged: it = 46
m == n: obj = 4641.7417602891 not converged: it = 47
m == n: obj = 4641.7401214217 not converged: it = 48
m == n: obj = 4641.7376810561 not converged: it = 49
m == n: obj = 4641.7340472856 not converged: it = 50
m == n: obj = 4641.7286369629 not converged: it = 51
m == n: obj = 4641.7205831038 not converged: it = 52
m == n: obj = 4641.7085985379 not converged: it = 53
m == n: obj = 4641.6907766285 not converged: it = 54
m == n: obj = 4641.6643034513 not converged: it = 55
m == n: obj = 4641.6250499545 not converged: it = 56
m == n: obj = 4641.5670118398 not converged: it = 57
m == n: obj = 4641.4815802745 not converged: it = 58
m == n: obj = 4641.3566816476 not converged: it = 59
m == n: obj = 4641.1759631584 not converged: it = 60
m == n: obj = 4640.9184870127 not converged: it = 61
m == n: obj = 4640.5598748380 not converged: it = 62
m == n: obj = 4640.0763951643 not converged: it = 63
m == n: obj = 4639.4535091538 not converged: it = 64
m == n: obj = 4638.6985627477 not converged: it = 65
m == n: obj = 4637.8525223026 not converged: it = 66
m == n: obj = 4636.9902717889 not converged: it = 67
m == n: obj = 4636.2011348287 not converged: it = 68
m == n: obj = 4635.5562138862 not converged: it = 69
m == n: obj = 4635.0841061959 not converged: it = 70
m == n: obj = 4634.7709393872 not converged: it = 71
m == n: obj = 4634.5791836454 not converged: it = 72
m == n: obj = 4634.4681223189 not converged: it = 73
m == n: obj = 4634.4053264338 not converged: it = 74
m == n: obj = 4634.3691581286 not converged: it = 75
m == n: obj = 4634.3467429052 not converged: it = 76
m == n: obj = 4634.3309831621 not converged: it = 77
m == n: obj = 4634.3181561250 not converged: it = 78
m == n: obj = 4634.3063657101 not converged: it = 79
m == n: obj = 4634.2946565359 not converged: it = 80
m == n: obj = 4634.2825420462 not converged: it = 81
m == n: obj = 4634.2697644380 not converged: it = 82
m == n: obj = 4634.2561761591 not converged: it = 83
m == n: obj = 4634.2416826439 not converged: it = 84
m == n: obj = 4634.2262151364 not converged: it = 85
m == n: obj = 4634.2097180825 not converged: it = 86
m == n: obj = 4634.1921435378 not converged: it = 87
m == n: obj = 4634.1734489659 not converged: it = 88
m == n: obj = 4634.1535967048 not converged: it = 89
m == n: obj = 4634.1325542860 not converged: it = 90
m == n: obj = 4634.1102952171 not converged: it = 91
m == n: obj = 4634.0868000400 not converged: it = 92
m == n: obj = 4634.0620575623 not converged: it = 93
m == n: obj = 4634.0360661965 not converged: it = 94
m == n: obj = 4634.0088353517 not converged: it = 95
m == n: obj = 4633.9803868188 not converged: it = 96
m == n: obj = 4633.9507560809 not converged: it = 97
m == n: obj = 4633.9199934721 not converged: it = 98
m == n: obj = 4633.8881650953 not converged: it = 99
m == n: obj = 4633.8553534087 not converged: it = 100
m == n: obj = 4633.8216573862 not converged: it = 101
m == n: obj = 4633.7871921716 not converged: it = 102
m == n: obj = 4633.7520881605 not converged: it = 103
m == n: obj = 4633.7164894758 not converged: it = 104
m == n: obj = 4633.6805518354 not converged: it = 105
m == n: obj = 4633.6444398582 not converged: it = 106
m == n: obj = 4633.6083238934 not converged: it = 107
m == n: obj = 4633.5723765040 not converged: it = 108
m == n: obj = 4633.5367687642 not converged: it = 109
m == n: obj = 4633.5016665539 not converged: it = 110
m == n: obj = 4633.4672270359 not converged: it = 111
m == n: obj = 4633.4335954897 not converged: it = 112
m == n: obj = 4633.4009026493 not converged: it = 113
m == n: obj = 4633.3692626504 not converged: it = 114
m == n: obj = 4633.3387716507 not converged: it = 115
m == n: obj = 4633.3095071322 not converged: it = 116
m == n: obj = 4633.2815278568 not converged: it = 117
m == n: obj = 4633.2548744046 not converged: it = 118
m == n: obj = 4633.2295702011 not converged: it = 119
m == n: obj = 4633.2056229217 not converged: it = 120
m == n: obj = 4633.1830261616 not converged: it = 121
m == n: obj = 4633.1617612597 not converged: it = 122
m == n: obj = 4633.1417991795 not converged: it = 123
m == n: obj = 4633.1231023655 not converged: it = 124
m == n: obj = 4633.1056265122 not converged: it = 125
m == n: obj = 4633.0893221975 not converged: it = 126
m == n: obj = 4633.0741363541 not converged: it = 127
m == n: obj = 4633.0600135613 not converged: it = 128
m == n: obj = 4633.0468971544 not converged: it = 129
m == n: obj = 4633.0347301568 not converged: it = 130
m == n: obj = 4633.0234560452 not converged: it = 131
m == n: obj = 4633.0130193623 not converged: it = 132
m == n: obj = 4633.0033661946 not converged: it = 133
m == n: obj = 4632.9944445330 not converged: it = 134
m == n: obj = 4632.9862045316 not converged: it = 135
m == n: obj = 4632.9785986833 not converged: it = 136
m == n: obj = 4632.9715819245 not converged: it = 137
m == n: obj = 4632.9651116845 not converged: it = 138
m == n: obj = 4632.9591478893 not converged: it = 139
m == n: obj = 4632.9536529294 not converged: it = 140
m == n: obj = 4632.9485916022 not converged: it = 141
m == n: obj = 4632.9439310334 not converged: it = 142
m == n: obj = 4632.9396405840 not converged: it = 143
m == n: obj = 4632.9356917488 not converged: it = 144
m == n: obj = 4632.9320580478 not converged: it = 145
m == n: obj = 4632.9287149149 not converged: it = 146
m == n: obj = 4632.9256395866 not converged: it = 147
m == n: obj = 4632.9228109913 not converged: it = 148
m == n: obj = 4632.9202096409 not converged: it = 149
m == n: obj = 4632.9178175259 not converged: it = 150
m == n: obj = 4632.9156180154 not converged: it = 151
m == n: obj = 4632.9135957603 not converged: it = 152
m == n: obj = 4632.9117366027 not converged: it = 153
m == n: obj = 4632.9100274892 not converged: it = 154
m == n: obj = 4632.9084563902 not converged: it = 155
m == n: obj = 4632.9070122233 not converged: it = 156
m == n: obj = 4632.9056847824 not converged: it = 157
m == n: obj = 4632.9044646710 not converged: it = 158
m == n: obj = 4632.9033432401 not converged: it = 159
m == n: obj = 4632.9023125305 not converged: it = 160
m == n: obj = 4632.9013652195 not converged: it = 161
m == n: obj = 4632.9004945707 not converged: it = 162
m == n: obj = 4632.8996943886 not converged: it = 163
m == n: obj = 4632.8989589752 not converged: it = 164
m == n: obj = 4632.8982830915 not converged: it = 165
m == n: obj = 4632.8976619203 not converged: it = 166
m == n: obj = 4632.8970910330 not converged: it = 167
m == n: obj = 4632.8965663585 not converged: it = 168
m == n: obj = 4632.8960841547 not converged: it = 169
m == n: obj = 4632.8956409819 not converged: it = 170
m == n: obj = 4632.8952336787 not converged: it = 171
m == n: obj = 4632.8948593394 not converged: it = 172
m == n: obj = 4632.8945152937 not converged: it = 173
m == n: obj = 4632.8941990874 not converged: it = 174
m == n: obj = 4632.8939084654 not converged: it = 175
m == n: obj = 4632.8936413550 not converged: it = 176
m == n: obj = 4632.8933958517 not converged: it = 177
m == n: obj = 4632.8931702052 not converged: it = 178
m == n: obj = 4632.8929628073 not converged: it = 179
m == n: obj = 4632.8927721801 not converged: it = 180
m == n: obj = 4632.8925969653 not converged: it = 181
m == n: obj = 4632.8924359151 not converged: it = 182
m == n: obj = 4632.8922878825 not converged: it = 183
m == n: obj = 4632.8921518138 not converged: it = 184
m == n: obj = 4632.8920267405 not converged: it = 185
m == n: obj = 4632.8919117727 not converged: it = 186
m == n: obj = 4632.8918060926 not converged: it = 187
m == n: obj = 4632.8917089487 not converged: it = 188
m == n: obj = 4632.8916196505 not converged: it = 189
m == n: obj = 4632.8915375633 not converged: it = 190
m == n: obj = 4632.8914621038 not converged: it = 191
m == n: obj = 4632.8913927362 not converged: it = 192
m == n: obj = 4632.8913289678 not converged: it = 193
m == n: obj = 4632.8912703460 not converged: it = 194
m == n: obj = 4632.8912164548 not converged: it = 195
m == n: obj = 4632.8911669118 not converged: it = 196
m == n: obj = 4632.8911213658 not converged: it = 197
m == n: obj = 4632.8910794937 not converged: it = 198
m == n: obj = 4632.8910409987 not converged: it = 199
m == n: obj = 4632.8910056082 not converged: it = 200
m == n: obj = 4632.8909730713 not converged: it = 201
m == n: obj = 4632.8909431577 not converged: it = 202
m == n: obj = 4632.8909156555 not converged: it = 203
m == n: obj = 4632.8908903701 not converged: it = 204
m == n: obj = 4632.8908671226 not converged: it = 205
m == n: obj = 4632.8908457484 not converged: it = 206
m == n: obj = 4632.8908260965 not converged: it = 207
m == n: obj = 4632.8908080279 not converged: it = 208
m == n: obj = 4632.8907914148 not converged: it = 209
m == n: obj = 4632.8907761399 not converged: it = 210
m == n: obj = 4632.8907620952 not converged: it = 211
m == n: obj = 4632.8907491815 not converged: it = 212
m == n: obj = 4632.8907373077 not converged: it = 213
m == n: obj = 4632.8907263899 not converged: it = 214
m == n: obj = 4632.8907163510 not converged: it = 215
m == n: obj = 4632.8907071202 not converged: it = 216
m == n: obj = 4632.8906986324 not converged: it = 217
m == n: obj = 4632.8906908277 not converged: it = 218
m == n: obj = 4632.8906836511 not converged: it = 219
m == n: obj = 4632.8906770519 not converged: it = 220
m == n: obj = 4632.8906709837 not converged: it = 221
m == n: obj = 4632.8906654037 not converged: it = 222
m == n: obj = 4632.8906602726 not converged: it = 223
m == n: obj = 4632.8906555542 not converged: it = 224
m == n: obj = 4632.8906512153 not converged: it = 225
m == n: obj = 4632.8906472254 not converged: it = 226
m == n: obj = 4632.8906435563 not converged: it = 227
m == n: obj = 4632.8906401822 not converged: it = 228
m == n: obj = 4632.8906370794 not converged: it = 229
m == n: obj = 4632.8906342261 not converged: it = 230
m == n: obj = 4632.8906316021 not converged: it = 231
m == n: obj = 4632.8906291891 not converged: it = 232
m == n: obj = 4632.8906269700 not converged: it = 233
m == n: obj = 4632.8906249293 not converged: it = 234
m == n: obj = 4632.8906230526 not converged: it = 235
m == n: obj = 4632.8906213267 not converged: it = 236
m == n: obj = 4632.8906197395 not converged: it = 237
m == n: obj = 4632.8906182798 not converged: it = 238
m == n: obj = 4632.8906169374 not converged: it = 239
m == n: obj = 4632.8906157028 not converged: it = 240
m == n: obj = 4632.8906145675 not converged: it = 241
m == n: obj = 4632.8906135233 not converged: it = 242
m == n: obj = 4632.8906125630 not converged: it = 243
m == n: obj = 4632.8906116798 not converged: it = 244
m == n: obj = 4632.8906108675 not converged: it = 245
m == n: obj = 4632.8906101205 not converged: it = 246
m == n: obj = 4632.8906094335 not converged: it = 247
m == n: obj = 4632.8906088016 not converged: it = 248
m == n: obj = 4632.8906082205 not converged: it = 249
m == n: obj = 4632.8906076860 not converged: it = 250
m == n: obj = 4632.8906071945 not converged: it = 251
m == n: obj = 4632.8906067424 not converged: it = 252
m == n: obj = 4632.8906063266 not converged: it = 253
m == n: obj = 4632.8906059441 not converged: it = 254
m == n: obj = 4632.8906055924 not converged: it = 255
m == n: obj = 4632.8906052689 not converged: it = 256
m == n: obj = 4632.8906049714 not converged: it = 257
m == n: obj = 4632.8906046977 not converged: it = 258
m == n: obj = 4632.8906044460 not converged: it = 259
m == n: obj = 4632.8906042145 not converged: it = 260
m == n: obj = 4632.8906040016 not converged: it = 261
m == n: obj = 4632.8906038058 not converged: it = 262
m == n: obj = 4632.8906036257 not converged: it = 263
m == n: obj = 4632.8906034600 not converged: it = 264
m == n: obj = 4632.8906033076 not converged: it = 265
m == n: obj = 4632.8906031675 not converged: it = 266
m == n: obj = 4632.8906030386 not converged: it = 267
m == n: obj = 4632.8906029200 not converged: it = 268
m == n: obj = 4632.8906028110 not converged: it = 269
m == n: obj = 4632.8906027106 not converged: it = 270
m == n: obj = 4632.8906026184 not converged: it = 271
m == n: obj = 4632.8906025335 not converged: it = 272
m == n: obj = 4632.8906024555 not converged: it = 273
m == n: obj = 4632.8906023837 not converged: it = 274
m == n: obj = 4632.8906023176 not converged: it = 275
m == n: obj = 4632.8906022569 not converged: it = 276
m == n: obj = 4632.8906022010 not converged: it = 277
m == n: obj = 4632.8906021496 not converged: it = 278
m == n: obj = 4632.8906021024 not converged: it = 279
m == n: obj = 4632.8906020589 not converged: it = 280
m == n: obj = 4632.8906020189 not converged: it = 281
m == n: obj = 4632.8906019821 not converged: it = 282
m == n: obj = 4632.8906019483 not converged: it = 283
m == n: obj = 4632.8906019171 not converged: it = 284
m == n: obj = 4632.8906018885 not converged: it = 285
m == n: obj = 4632.8906018622 not converged: it = 286
m == n: obj = 4632.8906018379 not converged: it = 287
m == n: obj = 4632.8906018157 not converged: it = 288
m == n: obj = 4632.8906017952 not converged: it = 289
m == n: obj = 4632.8906017763 not converged: it = 290
m == n: obj = 4632.8906017590 not converged: it = 291
m == n: obj = 4632.8906017430 not converged: it = 292
m == n: obj = 4632.8906017284 not converged: it = 293
m == n: obj = 4632.8906017149 not converged: it = 294
m == n: obj = 4632.8906017025 not converged: it = 295
m == n: obj = 4632.8906016911 not converged: it = 296
m == n: obj = 4632.8906016806 not converged: it = 297
m == n: obj = 4632.8906016709 not converged: it = 298
m == n: obj = 4632.8906016620 not converged: it = 299
m == n: obj = 4632.8906016539 not converged: it = 300
m == n: obj = 4632.8906016463 not converged: it = 301
m == n: obj = 4632.8906016394 not converged: it = 302
m == n: obj = 4632.8906016331 not converged: it = 303
m == n: obj = 4632.8906016272 not converged: it = 304
m == n: obj = 4632.8906016218 not converged: it = 305
m == n: obj = 4632.8906016169 not converged: it = 306
m == n: obj = 4632.8906016123 not converged: it = 307
m == n: obj = 4632.8906016081 not converged: it = 308
m == n: obj = 4632.8906016043 not converged: it = 309
m == n: obj = 4632.8906016007 not converged: it = 310
m == n: obj = 4632.8906015975 not converged: it = 311
m == n: obj = 4632.8906015945 not converged: it = 312
m == n: obj = 4632.8906015917 not converged: it = 313
m == n: obj = 4632.8906015892 not converged: it = 314
m == n: obj = 4632.8906015868 not converged: it = 315
m == n: obj = 4632.8906015847 not converged: it = 316
m == n: obj = 4632.8906015827 not converged: it = 317
m == n: obj = 4632.8906015809 not converged: it = 318
m == n: obj = 4632.8906015792 not converged: it = 319
m == n: obj = 4632.8906015777 not converged: it = 320
m == n: obj = 4632.8906015762 not converged: it = 321
m == n: obj = 4632.8906015749 not converged: it = 322
m == n: obj = 4632.8906015737 not converged: it = 323
m == n: obj = 4632.8906015726 not converged: it = 324
m == n: obj = 4632.8906015716 not converged: it = 325
m == n: obj = 4632.8906015707 not converged: it = 326
m == n: obj = 4632.8906015698 not converged: it = 327
m == n: obj = 4632.8906015691 not converged: it = 328
m == n: obj = 4632.8906015683 not converged: it = 329
m == n: obj = 4632.8906015677 not converged: it = 330
m == n: obj = 4632.8906015671 not converged: it = 331
m == n: obj = 4632.8906015665 not converged: it = 332
m == n: obj = 4632.8906015660 not converged: it = 333
m == n: obj = 4632.8906015655 not converged: it = 334
m == n: obj = 4632.8906015650 not converged: it = 335
m == n: obj = 4632.8906015646 not converged: it = 336
m == n: obj = 4632.8906015643 not converged: it = 337
m == n: obj = 4632.8906015639 not converged: it = 338
m == n: obj = 4632.8906015636 not converged: it = 339
m == n: obj = 4632.8906015633 not converged: it = 340
m == n: obj = 4632.8906015630 not converged: it = 341
m == n: obj = 4632.8906015628 not converged: it = 342
m == n: obj = 4632.8906015626 not converged: it = 343
m == n: obj = 4632.8906015624 not converged: it = 344
m == n: obj = 4632.8906015622 not converged: it = 345
m == n: obj = 4632.8906015620 not converged: it = 346
m == n: obj = 4632.8906015618 not converged: it = 347
m == n: obj = 4632.8906015617 not converged: it = 348
m == n: obj = 4632.8906015615 not converged: it = 349
m == n: obj = 4632.8906015614 not converged: it = 350
m == n: obj = 4632.8906015613 not converged: it = 351
m == n: obj = 4632.8906015612 not converged: it = 352
m == n: obj = 4632.8906015611 not converged: it = 353
m == n: obj = 4632.8906015610 not converged: it = 354
m == n: obj = 4632.8906015609 not converged: it = 355
m == n: obj = 4632.8906015608 not converged: it = 356
m == n: obj = 4632.8906015608 not converged: it = 357
m == n: obj = 4632.8906015607 not converged: it = 358
m == n: obj = 4632.8906015606 not converged: it = 359
m == n: obj = 4632.8906015606 not converged: it = 360
m == n: obj = 4632.8906015605 not converged: it = 361
m == n: obj = 4632.8906015605 not converged: it = 362
m == n: obj = 4632.8906015604 not converged: it = 363
m == n: obj = 4632.8906015604 not converged: it = 364
m == n: obj = 4632.8906015603 not converged: it = 365
m == n: obj = 4632.8906015603 not converged: it = 366
m == n: obj = 4632.8906015603 not converged: it = 367
m == n: obj = 4632.8906015602 not converged: it = 368
m == n: obj = 4632.8906015602 not converged: it = 369
m == n: obj = 4632.8906015602 not converged: it = 370
m == n: obj = 4632.8906015602 not converged: it = 371
m == n: obj = 4632.8906015602 not converged: it = 372
m == n: obj = 4632.8906015601 not converged: it = 373
m == n: obj = 4632.8906015601 not converged: it = 374
m == n: obj = 4632.8906015601 not converged: it = 375
m == n: obj = 4632.8906015601 not converged: it = 376
m == n: obj = 4632.8906015601 not converged: it = 377
m == n: obj = 4632.8906015601 not converged: it = 378
m == n: obj = 4632.8906015600 not converged: it = 379
m == n: obj = 4632.8906015600 not converged: it = 380
m == n: obj = 4632.8906015600 not converged: it = 381
m == n: obj = 4632.8906015600 not converged: it = 382
m == n: obj = 4632.8906015600 not converged: it = 383
m == n: obj = 4632.8906015600 not converged: it = 384
m == n: obj = 4632.8906015600
Converged after 385 iterations, obj = 4632.8906015599995953
fanny()'s caddy(*, k = 4):
-> k_true (crisp) = 4
> f4.16.2<- fanny(chorSub, k = 4, memb.exp = 1.6,
+ iniMem.p = cluster:::as.membership(p4cl), tol = 1e-10, trace.lev = 2)
fanny()'s fuzzy(n = 61, k = 4):
fuzzy(): initial obj = 7365.64
ef[]= ( 46750.7, 97854, 64737.8, 24170.1)
esp[]= ( 17, 17, 17, 10)
m == n: obj = 4744.9792255200 not converged: it = 1
m == n: obj = 4679.5979841397 not converged: it = 2
m == n: obj = 4661.1063474652 not converged: it = 3
m == n: obj = 4651.1976132009 not converged: it = 4
m == n: obj = 4645.1558185569 not converged: it = 5
m == n: obj = 4641.3016999595 not converged: it = 6
m == n: obj = 4638.7561402053 not converged: it = 7
m == n: obj = 4637.0268537669 not converged: it = 8
m == n: obj = 4635.8286004555 not converged: it = 9
m == n: obj = 4634.9880315172 not converged: it = 10
m == n: obj = 4634.3943437634 not converged: it = 11
m == n: obj = 4633.9736501112 not converged: it = 12
m == n: obj = 4633.6751509742 not converged: it = 13
m == n: obj = 4633.4632343974 not converged: it = 14
m == n: obj = 4633.3126714974 not converged: it = 15
m == n: obj = 4633.2055165701 not converged: it = 16
m == n: obj = 4633.1290071452 not converged: it = 17
m == n: obj = 4633.0740913561 not converged: it = 18
m == n: obj = 4633.0343739482 not converged: it = 19
m == n: obj = 4633.0053552141 not converged: it = 20
m == n: obj = 4632.9838809909 not converged: it = 21
m == n: obj = 4632.9677467724 not converged: it = 22
m == n: obj = 4632.9554145804 not converged: it = 23
m == n: obj = 4632.9458119538 not converged: it = 24
m == n: obj = 4632.9381902596 not converged: it = 25
m == n: obj = 4632.9320254723 not converged: it = 26
m == n: obj = 4632.9269490798 not converged: it = 27
m == n: obj = 4632.9227001877 not converged: it = 28
m == n: obj = 4632.9190924339 not converged: it = 29
m == n: obj = 4632.9159911876 not converged: it = 30
m == n: obj = 4632.9132978577 not converged: it = 31
m == n: obj = 4632.9109390974 not converged: it = 32
m == n: obj = 4632.9088593706 not converged: it = 33
m == n: obj = 4632.9070158249 not converged: it = 34
m == n: obj = 4632.9053747439 not converged: it = 35
m == n: obj = 4632.9039090813 not converged: it = 36
m == n: obj = 4632.9025967379 not converged: it = 37
m == n: obj = 4632.9014193477 not converged: it = 38
m == n: obj = 4632.9003614151 not converged: it = 39
m == n: obj = 4632.8994096946 not converged: it = 40
m == n: obj = 4632.8985527385 not converged: it = 41
m == n: obj = 4632.8977805631 not converged: it = 42
m == n: obj = 4632.8970843966 not converged: it = 43
m == n: obj = 4632.8964564866 not converged: it = 44
m == n: obj = 4632.8958899491 not converged: it = 45
m == n: obj = 4632.8953786491 not converged: it = 46
m == n: obj = 4632.8949171027 not converged: it = 47
m == n: obj = 4632.8945003975 not converged: it = 48
m == n: obj = 4632.8941241249 not converged: it = 49
m == n: obj = 4632.8937843232 not converged: it = 50
m == n: obj = 4632.8934774285 not converged: it = 51
m == n: obj = 4632.8932002321 not converged: it = 52
m == n: obj = 4632.8929498430 not converged: it = 53
m == n: obj = 4632.8927236556 not converged: it = 54
m == n: obj = 4632.8925193198 not converged: it = 55
m == n: obj = 4632.8923347162 not converged: it = 56
m == n: obj = 4632.8921679323 not converged: it = 57
m == n: obj = 4632.8920172421 not converged: it = 58
m == n: obj = 4632.8918810877 not converged: it = 59
m == n: obj = 4632.8917580629 not converged: it = 60
m == n: obj = 4632.8916468978 not converged: it = 61
m == n: obj = 4632.8915464462 not converged: it = 62
m == n: obj = 4632.8914556728 not converged: it = 63
m == n: obj = 4632.8913736426 not converged: it = 64
m == n: obj = 4632.8912995115 not converged: it = 65
m == n: obj = 4632.8912325169 not converged: it = 66
m == n: obj = 4632.8911719701 not converged: it = 67
m == n: obj = 4632.8911172490 not converged: it = 68
m == n: obj = 4632.8910677916 not converged: it = 69
m == n: obj = 4632.8910230905 not converged: it = 70
m == n: obj = 4632.8909826870 not converged: it = 71
m == n: obj = 4632.8909461670 not converged: it = 72
m == n: obj = 4632.8909131564 not converged: it = 73
m == n: obj = 4632.8908833169 not converged: it = 74
m == n: obj = 4632.8908563432 not converged: it = 75
m == n: obj = 4632.8908319595 not converged: it = 76
m == n: obj = 4632.8908099163 not converged: it = 77
m == n: obj = 4632.8907899884 not converged: it = 78
m == n: obj = 4632.8907719724 not converged: it = 79
m == n: obj = 4632.8907556842 not converged: it = 80
m == n: obj = 4632.8907409578 not converged: it = 81
m == n: obj = 4632.8907276430 not converged: it = 82
m == n: obj = 4632.8907156041 not converged: it = 83
m == n: obj = 4632.8907047185 not converged: it = 84
m == n: obj = 4632.8906948754 not converged: it = 85
m == n: obj = 4632.8906859747 not converged: it = 86
m == n: obj = 4632.8906779259 not converged: it = 87
m == n: obj = 4632.8906706472 not converged: it = 88
m == n: obj = 4632.8906640647 not converged: it = 89
m == n: obj = 4632.8906581117 not converged: it = 90
m == n: obj = 4632.8906527276 not converged: it = 91
m == n: obj = 4632.8906478581 not converged: it = 92
m == n: obj = 4632.8906434537 not converged: it = 93
m == n: obj = 4632.8906394699 not converged: it = 94
m == n: obj = 4632.8906358664 not converged: it = 95
m == n: obj = 4632.8906326068 not converged: it = 96
m == n: obj = 4632.8906296582 not converged: it = 97
m == n: obj = 4632.8906269907 not converged: it = 98
m == n: obj = 4632.8906245774 not converged: it = 99
m == n: obj = 4632.8906223942 not converged: it = 100
m == n: obj = 4632.8906204189 not converged: it = 101
m == n: obj = 4632.8906186316 not converged: it = 102
m == n: obj = 4632.8906170145 not converged: it = 103
m == n: obj = 4632.8906155512 not converged: it = 104
m == n: obj = 4632.8906142271 not converged: it = 105
m == n: obj = 4632.8906130289 not converged: it = 106
m == n: obj = 4632.8906119446 not converged: it = 107
m == n: obj = 4632.8906109632 not converged: it = 108
m == n: obj = 4632.8906100750 not converged: it = 109
m == n: obj = 4632.8906092711 not converged: it = 110
m == n: obj = 4632.8906085435 not converged: it = 111
m == n: obj = 4632.8906078849 not converged: it = 112
m == n: obj = 4632.8906072887 not converged: it = 113
m == n: obj = 4632.8906067490 not converged: it = 114
m == n: obj = 4632.8906062603 not converged: it = 115
m == n: obj = 4632.8906058180
Converged after 116 iterations, obj = 4632.8906058179836691
fanny()'s caddy(*, k = 4):
-> k_true (crisp) = 4
> all.equal((m1 <- f4.16 $membership),
+ (m2 <- f4.16.2$membership))
[1] "Mean relative difference: 0.0002281145"
> ## IGNORE_RDIFF_END
> stopifnot(identical(dimnames(m1), dimnames(m2)),
+ 0 < m1,m1 < 1, 0 < m2,m2 < 1,
+ ## the memberships are quite close but have only converged to precision 0.000228
+ all.equal(m1, m2, tol = 0.001))
> stopifnot(exprs = {
+ f4.16$clustering == f4.16.2$clustering
+ all.equal(f4.16[notMconv], f4.16.2[notMconv], tol = 1e-7)
+ })
>
> f4.14 <- fanny(chorSub, k = 4, memb.exp = 1.4)
> f4.12 <- fanny(chorSub, k = 4, memb.exp = 1.2)
>
> table(f4.12$clustering, f4.14$clustering)# close but different
1 2 3 4
1 14 0 8 0
2 1 14 0 2
3 0 0 12 5
4 0 0 0 5
> table(f4.16$clustering, f4.14$clustering)# ditto
1 2 3 4
1 2 0 1 5
2 1 14 0 7
3 3 0 4 0
4 9 0 15 0
> table(f4.12$clustering, f4.16$clustering)# hence differ even more
1 2 3 4
1 2 0 3 17
2 1 16 0 0
3 5 1 4 7
4 0 5 0 0
>
> symnum(cbind(f4.16$membership, 1, f4.12$membership),
+ cutpoints= c(0., 0.2, 0.6, 0.8, 0.9, 0.95, 1 -1e-7, 1 +1e-7),
+ symbols = c(" ", ".", ",", "+", "*", "B","1"))
190 . . . . 1 ,
191 . . 1 B
192 . . . . 1 +
193 . . 1 *
194 . . 1 B
195 . . . . 1 +
196 . . . . 1 ,
197 . . . . 1 +
198 . . 1 +
199 . . 1 B
200 . . . . 1 , .
201 . . 1 B
202 . . 1 B
203 . . . . 1 . .
204 . . 1 +
205 . . . . 1 *
206 . . 1 +
207 . . 1 B
208 . . 1 B
209 . . 1 B
210 . . 1 +
211 . . 1 +
212 . . . . 1 . .
213 . . . . 1 ,
214 . . . . 1 . ,
215 . . 1 B
216 . . 1 B
217 . . 1 B
218 . . 1 . ,
219 . . . . 1 . .
220 . . 1 B
221 . . 1 ,
222 . . 1 B
223 . . . . 1 . .
224 . . 1 , .
225 . . . . 1 +
226 . . 1 +
227 . . 1 B
228 . . . . 1 . .
229 . . . . 1 . . .
230 . . 1 , .
231 . . 1 *
232 . . 1 . ,
233 . . 1 B
234 . . 1 , .
235 . . . . 1 +
236 . . . . 1 B
237 . . 1 B
238 . . 1 +
239 . . 1 B
240 . . 1 B
241 . . . . 1 , .
242 . . 1 B
243 . . 1 *
244 . . 1 +
245 . . 1 B
246 . . 1 B
247 . . . . 1 B
248 . . 1 +
249 . . 1 +
250 . . 1 +
attr(,"legend")
[1] 0 ' ' 0.2 '.' 0.6 ',' 0.8 '+' 0.9 '*' 0.95 'B' 0.9999999 '1' 1
>
>
> ## Last Line:
> cat('Time elapsed: ', proc.time() - .proctime00,'\n')
Time elapsed: 0.141 0.013 0.158 0 0
>
> proc.time()
user system elapsed
0.251 0.049 0.321