Learn R Programming

qkerntool (version 1.19)

qkspeclust: 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 qkspecc
qkspeclust(x, clustmethod = "kmeans",
         Nocent=NULL,iterations=NULL, hmethod=NULL,eps = NULL, MinPts = NULL)

Arguments

x

object of class qkspecc.

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".

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

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.

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

Run this code
# NOT RUN {
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)

# }

Run the code above in your browser using DataLab