docs: def _nn(self, side, v, k = 1, radius = np.inf, eps = 0.0, p = 2):
          """Compute the k nearest neighbors of v in the observed data,
          :arg side  if equal to DATA_X, search among input data.
                       if equal to DATA_Y, search among output data.
          @return  distance and indexes of found nearest neighbors.
          """
          self._build_tree(side)
          dists, idxes = self.kdtree[side].query(v, k = k, distance_upper_bound = radius,
                                                 eps = eps, p = p)
          if k == 1:
              dists, idxes = np.array([dists]), [idxes]
          return dists, idxes