Sets the method to determine the distance between two clusters.

        :param method: The method to use. It can be one of ``'single'``,
            ``'complete'``, ``'average'`` or ``'uclus'``, or a callable. The
            callable should take two collections as parameters and return a
            distance value between both collections.

def set_linkage_method(self, method):
        """
        Sets the method to determine the distance between two clusters.

        :param method: The method to use. It can be one of ``'single'``,
            ``'complete'``, ``'average'`` or ``'uclus'``, or a callable. The
            callable should take two collections as parameters and return a
            distance value between both collections.
        """
        if method == 'single':
            self.linkage = single
        elif method == 'complete':
            self.linkage = complete
        elif method == 'average':
            self.linkage = average
        elif method == 'uclus':
            self.linkage = uclus
        elif hasattr(method, '__call__'):
            self.linkage = method
        else:
            raise ValueError('distance method must be one of single, '
                             'complete, average of uclus')