
Compute prototype-based partitions of a cluster ensemble by minimizing
cl_pclust(x, k, method = NULL, m = 1, weights = 1,
control = list())
An object of class "cl_partition"
representing the obtained
“secondary” partition by an object of class "cl_pclust"
,
which is a list containing at least the following components.
a cluster ensemble with the
an object of class "cl_membership"
with the membership values
the class ids of the nearest hard partition.
Silhouette information for the partition, see
silhouette
.
precomputed validity measures for the partition.
the softness control argument.
the matched call.
the dissimilarity function
the exponent
an ensemble of partitions or hierarchies, or something
coercible to that (see cl_ensemble
).
an integer giving the number of classes to be used in the partition.
the consensus method to be employed, see
cl_consensus
.
a number not less than 1 controlling the softness of the
partition (as the “fuzzification parameter” of the fuzzy
a numeric vector of non-negative case weights.
Recycled to the number of elements in the ensemble given by x
if necessary.
a list of control parameters. See Details.
Partitioning is performed using pclust
via a family
constructed from method
. The dissimilarities
For
Available control parameters are as for pclust
.
The fixed point approach employed is a heuristic which cannot be guaranteed to find the global minimum (as this is already true for the computation of consensus clusterings). Standard practice would recommend to use the best solution found in “sufficiently many” replications of the base algorithm.
J. C. Bezdek (1981). Pattern recognition with fuzzy objective function algorithms. New York: Plenum.
W. Gaul and M. Schader (1988). Clusterwise aggregation of relations. Applied Stochastic Models and Data Analysis, 4:273--282. tools:::Rd_expr_doi("10.1002/asm.3150040406").
## Use a precomputed ensemble of 50 k-means partitions of the
## Cassini data.
data("CKME")
CKME <- CKME[1 : 30] # for saving precious time ...
diss <- cl_dissimilarity(CKME)
hc <- hclust(diss)
plot(hc)
## This suggests using a partition with three classes, which can be
## obtained using cutree(hc, 3). Could use cl_consensus() to compute
## prototypes as the least squares consensus clusterings of the classes,
## or alternatively:
set.seed(123)
x1 <- cl_pclust(CKME, 3, m = 1)
x2 <- cl_pclust(CKME, 3, m = 2)
## Agreement of solutions.
cl_dissimilarity(x1, x2)
table(cl_class_ids(x1), cl_class_ids(x2))
Run the code above in your browser using DataLab