def cluster_centers_(self):
        """
        Searches for or creates cluster centers for the specified clustering
        algorithm. This algorithm ensures that that the centers are
        appropriately drawn and scaled so that distance between clusters are
        maintained.
        """
        # TODO: Handle agglomerative clustering and LDA
        for attr in ('cluster_centers_',):
            try:
                return getattr(self.estimator, attr)
            except AttributeError:
                continue

        raise AttributeError(
            "could not find or make cluster_centers_ for {}".format(
            self.estimator.__class__.__name__
        ))
Searches for or creates cluster centers for the specified clustering
        algorithm. This algorithm ensures that that the centers are
        appropriately drawn and scaled so that distance between clusters are
        maintained.