Package weka.clusterers
Class HierarchicalClusterer
java.lang.Object
weka.clusterers.AbstractClusterer
weka.clusterers.HierarchicalClusterer
- All Implemented Interfaces:
Serializable
,Cloneable
,Clusterer
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,Drawable
,OptionHandler
,RevisionHandler
Hierarchical clustering class. Implements a number
of classic hierarchical clustering methods.
Valid options are:
-N number of clusters
-L Link type (Single, Complete, Average, Mean, Centroid, Ward, Adjusted complete, Neighbor Joining) [SINGLE|COMPLETE|AVERAGE|MEAN|CENTROID|WARD|ADJCOMPLETE|NEIGHBOR_JOINING]
-A Distance function to use. (default: weka.core.EuclideanDistance)
-P Print hierarchy in Newick format, which can be used for display in other programs.
-D If set, classifier is run in debug mode and may output additional info to the console.
-B \If set, distance is interpreted as branch length, otherwise it is node height.
- Version:
- $Revision: 15519 $
- Author:
- Remco Bouckaert (rrb@xm.co.nz, remco@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
-
Field Summary
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClusterer
(Instances data) Generates a clusterer.int
clusterInstance
(Instance instance) Classifies a given instance.double[]
distributionForInstance
(Instance instance) Predicts the cluster memberships for a given instance.Returns the Capabilities of this clusterer.boolean
int
String[]
Gets the current settings of the clusterer.boolean
Returns the revision string.This will return a string describing the clusterer.graph()
Returns a string that describes a graph representing the object.int
Returns the type of graph representing the object.Returns an enumeration describing the available options.static void
int
Returns the number of clusters.void
setDistanceFunction
(DistanceFunction distanceFunction) void
setDistanceIsBranchLength
(boolean bDistanceIsHeight) void
setLinkType
(SelectedTag newLinkType) void
setNumClusters
(int nClusters) void
setOptions
(String[] options) Parses a given list of options.void
setPrintNewick
(boolean bPrintNewick) toString()
Methods inherited from class weka.clusterers.AbstractClusterer
debugTipText, doNotCheckCapabilitiesTipText, forName, getDebug, getDoNotCheckCapabilities, makeCopies, makeCopy, postExecution, preExecution, run, runClusterer, setDebug, setDoNotCheckCapabilities
-
Field Details
-
TAGS_LINK_TYPE
-
-
Constructor Details
-
HierarchicalClusterer
public HierarchicalClusterer()
-
-
Method Details
-
setNumClusters
public void setNumClusters(int nClusters) -
getNumClusters
public int getNumClusters() -
getDistanceFunction
-
setDistanceFunction
-
getPrintNewick
public boolean getPrintNewick() -
setPrintNewick
public void setPrintNewick(boolean bPrintNewick) -
setLinkType
-
getLinkType
-
buildClusterer
Description copied from class:AbstractClusterer
Generates a clusterer. Has to initialize all fields of the clusterer that are not being set via options.- Specified by:
buildClusterer
in interfaceClusterer
- Specified by:
buildClusterer
in classAbstractClusterer
- Parameters:
data
- set of instances serving as training data- Throws:
Exception
- if the clusterer has not been generated successfully
-
clusterInstance
Description copied from class:AbstractClusterer
Classifies a given instance. Either this or distributionForInstance() needs to be implemented by subclasses.- Specified by:
clusterInstance
in interfaceClusterer
- Overrides:
clusterInstance
in classAbstractClusterer
- 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
Description copied from class:AbstractClusterer
Predicts the cluster memberships for a given instance. Either this or clusterInstance() needs to be implemented by subclasses.- Specified by:
distributionForInstance
in interfaceClusterer
- Overrides:
distributionForInstance
in classAbstractClusterer
- 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
-
getCapabilities
Description copied from class:AbstractClusterer
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
- Overrides:
getCapabilities
in classAbstractClusterer
- Returns:
- the capabilities of this object
- See Also:
-
numberOfClusters
Description copied from class:AbstractClusterer
Returns the number of clusters.- Specified by:
numberOfClusters
in interfaceClusterer
- Specified by:
numberOfClusters
in classAbstractClusterer
- 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
- Overrides:
listOptions
in classAbstractClusterer
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classAbstractClusterer
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the clusterer.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classAbstractClusterer
- Returns:
- an array of strings suitable for passing to setOptions()
-
toString
-
getDistanceIsBranchLength
public boolean getDistanceIsBranchLength() -
setDistanceIsBranchLength
public void setDistanceIsBranchLength(boolean bDistanceIsHeight) -
distanceIsBranchLengthTipText
-
numClustersTipText
- Returns:
- a string to describe the NumClusters
-
printNewickTipText
- Returns:
- a string to describe the print Newick flag
-
distanceFunctionTipText
- Returns:
- a string to describe the distance function
-
linkTypeTipText
- Returns:
- a string to describe the Link type
-
globalInfo
This will return a string describing the clusterer.- Returns:
- The string.
-
main
-
graph
Description copied from interface:Drawable
Returns a string that describes a graph representing the object. The string should be in XMLBIF ver. 0.3 format if the graph is a BayesNet, otherwise it should be in dotty format. -
graphType
public int graphType()Description copied from interface:Drawable
Returns the type of graph representing the object. -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classAbstractClusterer
- Returns:
- the revision
-