createPairs {evclust} | R Documentation |
Finding overlapping pairs of clusters
Description
createPairs
finds pairs of clusters that are mutual k nearest neighbors
in a credal partition. The similarity between two clusters k and l is defined as
\sum_{i=1}^n pl_{ik} pl_{il}
, where pl_{ik}
is the plausibility of object i belonging to
cluster k.
Usage
createPairs(clus, k = 1)
Arguments
clus |
An object of class |
k |
The number of neighbors. |
Details
This function allows one to use evidential clustering when the number of clusters is large. A clustering algorithm is first run with a limited number of focal sets (the empty set, the singletons and, optionally, the whole frame). Then, the similarity between clusters is analysed to determine the pairs of neighboring (overlapping) clusters. The clustering algorithm is then run again, adding these pairs to the focal sets (see the example). The focal sets of the passed credal partition must be the empty set (first row), the singletons (next c rows) and, optionally, the whole frame (last row).
Value
A list with the following components:
- pairs
A matrix with two columns and p rows, containing the p pairs of clusters. This matrix can be passed to
ecm
,recm
,cecm
orkevclus
.- m0
A matrix of size (n,c+2+p), encoding the credal partition. The masses assigned to the pairs are null.
- S
The c x c matrix of similarities between clusters.
References
T. Denoeux, S. Sriboonchitta and O. Kanjanatarakul. Evidential clustering of large dissimilarity data. Knowledge-Based Systems, vol. 106, pages 179-195, 2016.
See Also
extractMass
, ecm
, recm
,
cecm
, kevclus
.
Examples
## Example with Four-class data
data("fourclass")
x<-fourclass[,1:2]
y<-fourclass[,3]
c=4
## Running k-EVCLUS with singletons
clus<-kevclus(x=x,k=100,c=c,type='simple')
## Plot the results
plot(clus,X=x,mfrow=c(2,2),ytrue=y)
## Creating the pairs of clusters
P<-createPairs(clus,k=2)
## Running k-EVCLUS again, with pairs of clusters
clus1<-kevclus(x=x,k=100,c=c,type='pairs',pairs=P$pairs,m0=P$m0)
## Plot the results
plot(clus1,X=x,mfrow=c(2,2),ytrue=y)