code: def _hclust(self, nclusters, method, noise=False):
          
          matrix = self.get_dm(noise)
  
          linkmat = fastcluster.linkage(squareform(matrix), method)
          self.nclusters = nclusters  # Store these in case we want to plot
          self.linkmat = linkmat      #
          return _hclust(linkmat, nclusters)
docs: :param nclusters: Number of clusters to return
          :param linkage_method: single, complete, average, ward, weighted, centroid or median
                                 (http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html)
          :param noise: Add Gaussian noise to the distance matrix prior to clustering (bool, default=False)
          :return: Partition object describing clustering