ClusterType - Type of Cluster used in this
learn() method.DataType - The algorithm operates on a Collection,
so DataType will be something like Vector or String.public class RandomClusterInitializer<ClusterType extends Cluster<DataType>,DataType> extends AbstractRandomized implements FixedClusterInitializer<ClusterType,DataType>
| Modifier and Type | Field and Description |
|---|---|
protected ClusterCreator<ClusterType,DataType> |
creator
The creator for new clusters.
|
random| Constructor and Description |
|---|
RandomClusterInitializer(ClusterCreator<ClusterType,DataType> creator,
java.util.Random random)
Creates a new random cluster creator.
|
| Modifier and Type | Method and Description |
|---|---|
RandomClusterInitializer<ClusterType,DataType> |
clone()
This makes public the clone method on the
Object class and
removes the exception that it throws. |
java.util.ArrayList<ClusterType> |
initializeClusters(int numClusters,
java.util.Collection<? extends DataType> elements)
Initializes a given number of clusters from the given elements.
|
getRandom, setRandomprotected ClusterCreator<ClusterType extends Cluster<DataType>,DataType> creator
public RandomClusterInitializer(ClusterCreator<ClusterType,DataType> creator, java.util.Random random)
creator - the cluster creator to userandom - the random number generator to usepublic RandomClusterInitializer<ClusterType,DataType> clone()
AbstractCloneableSerializableObject class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone() to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone() as the basis for your implementation.clone in interface CloneableSerializableclone in class AbstractRandomizedpublic java.util.ArrayList<ClusterType> initializeClusters(int numClusters, java.util.Collection<? extends DataType> elements)
FixedClusterInitializerinitializeClusters in interface FixedClusterInitializer<ClusterType extends Cluster<DataType>,DataType>numClusters - The number of clusters to create.elements - The elements to create the clusters from.