public interface InitializeKMeans<P>
Selects the initial cluster positions for k-means
Method SummaryModifier and TypeMethodDescription
voidInitializes internal data structures.Creates a new instance which has the same configuration and can be run in parallel.
voidGiven the a set of points, select a set of seeds to initialize k-means from.
initializeInitializes internal data structures. Must be called first.
distance- Distance function between two points
randomSeed- Seed for any random number generators used internally.
Given the a set of points, select a set of seeds to initialize k-means from.
- How duplicate points are handled isn't specified. It could result in two seeds having the same value or the number of selected seeds being less that the requested amount
- If the number of points is less than the number of seeds requested it will at most select one seed for each point
points- (Input) Set of points which is to be clustered.
requestedSeeds- (Input) Number of seeds it will attempt to select. See above for exceptions.
selectedSeeds- (Output) Storage for selected seeds. They will be copied into it.
newInstanceThreadCreates a new instance which has the same configuration and can be run in parallel. Some components can be shared as long as they are read only and thread safe.