public class SpectralClustering extends Object
EigenCut instance to compute a spectral
partition of a dataset. Given a single data set, it will recursively
partition that data set using a EigenCut instance until one of two
limits: all data points are in a unique cluster, or the maximum number of
partitions have been made, as set by the number of clusters. Once all
paritions are made, neighboring paritions may be merged according to the
objective scores returned by the EigenCut instance. If cluster(Matrix, int) is used, the requested number of clusters,
or fewer, will be returned, otherwise the algorithm will decide on the
correct number of clusters.EigenCut,
BaseSpectralCut| Constructor and Description |
|---|
SpectralClustering(double alpha,
Generator<EigenCut> cutterGenerator)
Creates a new
SpectralClustering instance. |
| Modifier and Type | Method and Description |
|---|---|
Assignments |
cluster(Matrix matrix)
Returns the Cluster
Assignments of each data point in matrix. |
Assignments |
cluster(Matrix matrix,
int maxClusters,
boolean useKMeans)
Returns the Cluster for each data point in
matrix. |
public SpectralClustering(double alpha,
Generator<EigenCut> cutterGenerator)
SpectralClustering instance.public Assignments cluster(Matrix matrix)
Assignments of each data point in matrix. This method will determine a "good" number of clusters
algorithmiclly. This method also uses the relaxed correlation objective
function, as the k-means objective function would always keep each data
point in it's own cluster.public Assignments cluster(Matrix matrix, int maxClusters, boolean useKMeans)
matrix. This method will return at most maxClusters. If useKMeans is true, the K-means objective function is used to merge
clusters, otherwise the relaxed correlation function is used.Copyright © 2012. All Rights Reserved.