Spectral clustering emphasizes nearest neighbours when forming clusters; it avoids some of the issues that arise from clustering around means / medoids.
SpectralEigens(D, nn =10L, nEig =2L)SpectralClustering(D, nn =10L, nEig =2L)
Arguments
D: Square matrix or dist object containing Euclidean distances between data points.
nn: Integer specifying number of nearest neighbours to consider
nEig: Integer specifying number of eigenvectors to retain.
Returns
SpectralEigens() returns spectral eigenvalues that can then be clustered using a method of choice.
Examples
library("TreeTools", quietly =TRUE)trees <- as.phylo(0:18, nTip =8)distances <- ClusteringInfoDistance(trees)eigens <- SpectralEigens(distances)# Perform clustering:clusts <- KMeansPP(dist(eigens), k =3)plot(eigens, pch =15, col = clusts$cluster)plot(cmdscale(distances), pch =15, col = clusts$cluster)
See Also
Other tree space functions: Islands(), MSTSegments(), MapTrees(), MappingQuality(), cluster-statistics, median.multiPhylo()