gov.sandia.cognition.learning.algorithm.clustering.initializer
Interface FixedClusterInitializer<ClusterType extends Cluster<DataType>,DataType>

Type Parameters:
ClusterType - Type of Cluster<DataType> used in the learn() method.
DataType - The algorithm operates on a Collection<DataType>, so DataType will be something like Vector or String
All Superinterfaces:
Cloneable, CloneableSerializable, Serializable
All Known Implementing Classes:
AbstractMinDistanceFixedClusterInitializer, DistanceSamplingClusterInitializer, GreedyClusterInitializer, NeighborhoodGaussianClusterInitializer

@CodeReview(reviewer="Kevin R. Dixon",
            date="2008-07-23",
            changesNeeded=false,
            comments={"Cleaned up javadoc a little bit with code annotations.","Otherwise, looks fine."})
public interface FixedClusterInitializer<ClusterType extends Cluster<DataType>,DataType>
extends CloneableSerializable

The FixedClusterInitializer interface defines the functionality of a class that can initialize a given number of clusters from a set of elements. Such an initializer is used in some clustering algorithms to provide the starting clusters for the algorithm.

Since:
1.0
Author:
Justin Basilico, Kevin R. Dixon

Method Summary
 ArrayList<ClusterType> initializeClusters(int numClusters, Collection<? extends DataType> elements)
          Initializes a given number of clusters from the given elements.
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 

Method Detail

initializeClusters

ArrayList<ClusterType> initializeClusters(int numClusters,
                                          Collection<? extends DataType> elements)
Initializes a given number of clusters from the given elements.

Parameters:
numClusters - The number of clusters to create.
elements - The elements to create the clusters from.
Returns:
The initial clusters to use.
Throws:
IllegalArgumentException - If numClusters is less than 0.
NullPointerException - If elements is null.