Class HierarchicalClusterer

  • All Implemented Interfaces:
    Serializable, Cloneable, Clusterer, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, Drawable, OptionHandler, RevisionHandler

    public class HierarchicalClusterer
    extends AbstractClusterer
    implements OptionHandler, Drawable
    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$
    Author:
    Remco Bouckaert (rrb@xm.co.nz, remco@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Field Detail

      • TAGS_LINK_TYPE

        public static final Tag[] TAGS_LINK_TYPE
    • Constructor Detail

      • HierarchicalClusterer

        public HierarchicalClusterer()
    • Method Detail

      • setNumClusters

        public void setNumClusters​(int nClusters)
      • getNumClusters

        public int getNumClusters()
      • setDistanceFunction

        public void setDistanceFunction​(DistanceFunction distanceFunction)
      • getPrintNewick

        public boolean getPrintNewick()
      • setPrintNewick

        public void setPrintNewick​(boolean bPrintNewick)
      • setLinkType

        public void setLinkType​(SelectedTag newLinkType)
      • clusterInstance

        public int clusterInstance​(Instance instance)
                            throws Exception
        Description copied from class: AbstractClusterer
        Classifies a given instance. Either this or distributionForInstance() needs to be implemented by subclasses.
        Specified by:
        clusterInstance in interface Clusterer
        Overrides:
        clusterInstance in class AbstractClusterer
        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

        public double[] distributionForInstance​(Instance instance)
                                         throws Exception
        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 interface Clusterer
        Overrides:
        distributionForInstance in class AbstractClusterer
        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
      • getDistanceIsBranchLength

        public boolean getDistanceIsBranchLength()
      • setDistanceIsBranchLength

        public void setDistanceIsBranchLength​(boolean bDistanceIsHeight)
      • distanceIsBranchLengthTipText

        public String distanceIsBranchLengthTipText()
      • numClustersTipText

        public String numClustersTipText()
        Returns:
        a string to describe the NumClusters
      • printNewickTipText

        public String printNewickTipText()
        Returns:
        a string to describe the print Newick flag
      • distanceFunctionTipText

        public String distanceFunctionTipText()
        Returns:
        a string to describe the distance function
      • linkTypeTipText

        public String linkTypeTipText()
        Returns:
        a string to describe the Link type
      • globalInfo

        public String globalInfo()
        This will return a string describing the clusterer.
        Returns:
        The string.
      • main

        public static void main​(String[] argv)
      • graph

        public String graph()
                     throws Exception
        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.
        Specified by:
        graph in interface Drawable
        Returns:
        the graph described by a string
        Throws:
        Exception - if the graph can't be computed
      • graphType

        public int graphType()
        Description copied from interface: Drawable
        Returns the type of graph representing the object.
        Specified by:
        graphType in interface Drawable
        Returns:
        the type of graph representing the object