qkspeclust {qkerntool} | R Documentation |
qkernel spectral Clustering
Description
This is also a qkernel spectral clustering algorithm which uses three ways to assign labels after the laplacian embedding: kmeans, hclust and dbscan.
Usage
## S4 method for signature 'qkspecc'
qkspeclust(x, clustmethod = "kmeans",
Nocent=NULL,iterations=NULL, hmethod=NULL,eps = NULL, MinPts = NULL)
Arguments
x |
object of class |
clustmethod |
the strategy to use to assign labels in the embedding space. There are three ways to assign labels after the laplacian embedding: kmeans, hclust and dbscan. |
Nocent |
the number of clusters |
iterations |
the maximum number of iterations allowed for "kmeans". |
hmethod |
the agglomeration method for "hclust". This should be (an unambiguous abbreviation of) one of "ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC). |
eps |
Reachability distance for "dbscan". |
MinPts |
Reachability minimum no. of points for "dbscan". |
Details
The qkernel spectral clustering works by embedding the data points of the
partitioning problem into the subspace of the eigenvectors corresponding to the
k
smallest eigenvalues of the graph Laplacian matrix.
Using the simple clustering methods like kmeans
, hclust
and dbscan
on the embedded points usually leads to good performance. It can be shown that
qkernel spectral clustering methods boil down to graph partitioning.
Value
An S4 object of class qkspecc
which extends the class vector
containing integers indicating the cluster to which
each point is allocated. The following slots contain useful information
clust |
The cluster assignments |
eVec |
The corresponding eigenvector |
eVal |
The corresponding eigenvalues |
xmatrix |
The original data matrix |
ymatrix |
The real valued matrix of eigenvectors corresponding to the k smallest eigenvalues of the graph Laplacian matrix |
cndkernf |
The kernel function used |
Author(s)
Yusen Zhang
yusenzhang@126.com
References
Andrew Y. Ng, Michael I. Jordan, Yair Weiss
On Spectral Clustering: Analysis and an Algorithm
Neural Information Processing Symposium 2001
See Also
qkernmatrix
, cndkernmatrix
, qkspecc-class
, qkspecc
Examples
data("iris")
x=as.matrix(iris[ ,-5])
qspe <- qkspecc(x,kernel = "rbfbase", qpar = list(sigma = 90, q = 0.9),
Nocent=3, normalize="symmetric", maxk=15,iterations=1200)
plot(x, col = clust(qspe))
qspec <- qkspeclust(qspe,clustmethod = "hclust", Nocent=3, hmethod="ward.D2")
plot(x, col = clust(qspec))
plot(qspec)