def cluster(self, linkageMethod="single"):
    """
    Perform hierarchical clustering on training vectors using specified linkage
    method. Results can be obtained using getLinkageMatrix(), etc.
    
    @param linkageMethod (string) Linkage method for computing between-class
        dissimilarities. Valid options are: "single" (aka min), "complete"
        (aka max), "average", and "weighted". For more information, see
        http://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.cluster.hierarchy.linkage.html
    """
    if self._overlaps is None:
      self._populateOverlaps()
    overlaps = self._overlaps

    linkage = scipy.cluster.hierarchy.linkage(-overlaps, method=linkageMethod)
    self._linkage = linkage