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)
Square matrix or dist
object containing Euclidean distances
between data points.
Integer specifying number of nearest neighbours to consider
Integer specifying number of eigenvectors to retain.
SpectralEigens()
returns spectral eigenvalues that can then be
clustered using a method of choice.
Other tree space functions:
MSTSegments()
,
MapTrees()
,
MappingQuality()
,
cluster-statistics
,
median.multiPhylo()
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)