code: def fit(self, X, y=None):
          
          # X = check_array(X)
          t0 = time.time()
          self.X = X
          self._run()
          t1 = time.time()
  #        print("APM clustering Time Cost:", t1 - t0)
          return self
docs: Perform clustering.
          Parameters
          -----------
          X : array-like, shape=[n_samples, n_features]
              Samples to cluster.