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: 15519 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
buildClusterer
(Instances data) Generates a clusterer.int
clusterInstance
(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 Clusterer
Creates 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.boolean
getDebug()
Get whether debugging is turned on.boolean
Get 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 Clusterer
Creates a deep copy of the given clusterer using serialization.abstract int
Returns the number of clusters.void
Perform any teardown stuff that might need to happen after execution.void
Perform any setup stuff that might need to happen before commandline execution.void
Execute the supplied object.static void
runClusterer
(Clusterer clusterer, String[] options) runs the clusterer instance with the given options.void
setDebug
(boolean debug) Set debugging mode.void
setDoNotCheckCapabilities
(boolean doNotCheckCapabilities) Set whether not to check capabilities.void
setOptions
(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:
buildClusterer
in 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:
clusterInstance
in 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:
distributionForInstance
in 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:
numberOfClusters
in 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:
listOptions
in 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:
setOptions
in 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:
setDoNotCheckCapabilities
in interfaceCapabilitiesIgnorer
- Parameters:
doNotCheckCapabilities
- true if capabilities are not to be checked.
-
getDoNotCheckCapabilities
public boolean getDoNotCheckCapabilities()Get whether capabilities checking is turned off.- Specified by:
getDoNotCheckCapabilities
in 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:
getOptions
in 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:
getCapabilities
in interfaceCapabilitiesHandler
- Specified by:
getCapabilities
in interfaceClusterer
- Returns:
- the capabilities of this object
- See Also:
-
getRevision
Returns the revision string.- Specified by:
getRevision
in 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:
preExecution
in interfaceCommandlineRunnable
- Throws:
Exception
- if a problem occurs during setup
-
run
Execute the supplied object. Subclasses need to override this method.- Specified by:
run
in 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:
postExecution
in interfaceCommandlineRunnable
- Throws:
Exception
- if a problem occurs during teardown
-