Package weka.clusterers
Class AbstractClusterer
java.lang.Object
weka.clusterers.AbstractClusterer
- All Implemented Interfaces:
Serializable,Cloneable,Clusterer,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,OptionHandler,RevisionHandler
- Direct Known Subclasses:
AbstractDensityBasedClusterer,HierarchicalClusterer,RandomizableClusterer,RandomizableSingleClustererEnhancer,SingleClustererEnhancer
public abstract class AbstractClusterer
extends Object
implements Clusterer, Cloneable, Serializable, CapabilitiesHandler, RevisionHandler, OptionHandler, CapabilitiesIgnorer, CommandlineRunnable
Abstract clusterer.
- Version:
- $Revision: 15520 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidbuildClusterer(Instances data) Generates a clusterer.intclusterInstance(Instance instance) Classifies a given instance.Returns the tip text for this propertydouble[]distributionForInstance(Instance instance) Predicts the cluster memberships for a given instance.Returns the tip text for this propertystatic ClustererCreates a new instance of a clusterer given it's class name and (optional) arguments to pass to it's setOptions method.Returns the Capabilities of this clusterer.booleangetDebug()Get whether debugging is turned on.booleanGet whether capabilities checking is turned off.String[]Gets the current settings of the clusterer.Returns the revision string.Returns an enumeration describing the available options.static Clusterer[]makeCopies(Clusterer model, int num) Creates copies of the current clusterer.static ClustererCreates a deep copy of the given clusterer using serialization.abstract intReturns the number of clusters.voidPerform any teardown stuff that might need to happen after execution.voidPerform any setup stuff that might need to happen before commandline execution.voidExecute the supplied object.static voidrunClusterer(Clusterer clusterer, String[] options) runs the clusterer instance with the given options.voidsetDebug(boolean debug) Set debugging mode.voidsetDoNotCheckCapabilities(boolean doNotCheckCapabilities) Set whether not to check capabilities.voidsetOptions(String[] options) Parses a given list of options.
-
Constructor Details
-
AbstractClusterer
public AbstractClusterer()
-
-
Method Details
-
buildClusterer
Generates a clusterer. Has to initialize all fields of the clusterer that are not being set via options.- Specified by:
buildClustererin interfaceClusterer- Parameters:
data- set of instances serving as training data- Throws:
Exception- if the clusterer has not been generated successfully
-
clusterInstance
Classifies a given instance. Either this or distributionForInstance() needs to be implemented by subclasses.- Specified by:
clusterInstancein interfaceClusterer- Parameters:
instance- the instance to be assigned to a cluster- Returns:
- the number of the assigned cluster as an integer
- Throws:
Exception- if instance could not be clustered successfully
-
distributionForInstance
Predicts the cluster memberships for a given instance. Either this or clusterInstance() needs to be implemented by subclasses.- Specified by:
distributionForInstancein interfaceClusterer- Parameters:
instance- the instance to be assigned a cluster.- Returns:
- an array containing the estimated membership probabilities of the test instance in each cluster (this should sum to at most 1)
- Throws:
Exception- if distribution could not be computed successfully
-
numberOfClusters
Returns the number of clusters.- Specified by:
numberOfClustersin interfaceClusterer- Returns:
- the number of clusters generated for a training dataset.
- Throws:
Exception- if number of clusters could not be returned successfully
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-D
If set, clusterer is run in debug mode and may output additional info to the console.-do-not-check-capabilities
If set, clusterer capabilities are not checked before clusterer is built (use with caution).- Specified by:
setOptionsin interfaceOptionHandler- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
setDebug
public void setDebug(boolean debug) Set debugging mode.- Parameters:
debug- true if debug output should be printed
-
getDebug
public boolean getDebug()Get whether debugging is turned on.- Returns:
- true if debugging output is on
-
debugTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setDoNotCheckCapabilities
public void setDoNotCheckCapabilities(boolean doNotCheckCapabilities) Set whether not to check capabilities.- Specified by:
setDoNotCheckCapabilitiesin interfaceCapabilitiesIgnorer- Parameters:
doNotCheckCapabilities- true if capabilities are not to be checked.
-
getDoNotCheckCapabilities
public boolean getDoNotCheckCapabilities()Get whether capabilities checking is turned off.- Specified by:
getDoNotCheckCapabilitiesin interfaceCapabilitiesIgnorer- Returns:
- true if capabilities checking is turned off.
-
doNotCheckCapabilitiesTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getOptions
Gets the current settings of the clusterer.- Specified by:
getOptionsin interfaceOptionHandler- Returns:
- an array of strings suitable for passing to setOptions
-
forName
Creates a new instance of a clusterer given it's class name and (optional) arguments to pass to it's setOptions method. If the clusterer implements OptionHandler and the options parameter is non-null, the clusterer will have it's options set.- Parameters:
clustererName- the fully qualified class name of the clustereroptions- an array of options suitable for passing to setOptions. May be null.- Returns:
- the newly created search object, ready for use.
- Throws:
Exception- if the clusterer class name is invalid, or the options supplied are not acceptable to the clusterer.
-
makeCopy
Creates a deep copy of the given clusterer using serialization.- Parameters:
model- the clusterer to copy- Returns:
- a deep copy of the clusterer
- Throws:
Exception- if an error occurs
-
makeCopies
Creates copies of the current clusterer. Note that this method now uses Serialization to perform a deep copy, so the Clusterer object must be fully Serializable. Any currently built model will now be copied as well.- Parameters:
model- an example clusterer to copynum- the number of clusterer copies to create.- Returns:
- an array of clusterers.
- Throws:
Exception- if an error occurs
-
getCapabilities
Returns the Capabilities of this clusterer. Derived clusterers have to override this method to enable capabilities.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClusterer- Returns:
- the capabilities of this object
- See Also:
-
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
runClusterer
runs the clusterer instance with the given options.- Parameters:
clusterer- the clusterer to runoptions- the commandline options
-
preExecution
Perform any setup stuff that might need to happen before commandline execution. Subclasses should override if they need to do something here- Specified by:
preExecutionin interfaceCommandlineRunnable- Throws:
Exception- if a problem occurs during setup
-
run
Execute the supplied object. Subclasses need to override this method.- Specified by:
runin interfaceCommandlineRunnable- Parameters:
toRun- the object to executeoptions- any options to pass to the object- Throws:
Exception- if the object if a problem occurs
-
postExecution
Perform any teardown stuff that might need to happen after execution. Subclasses should override if they need to do something here- Specified by:
postExecutionin interfaceCommandlineRunnable- Throws:
Exception- if a problem occurs during teardown
-