class_docstr: Base class for pairs learners.
  
  Attributes
  ----------
  threshold_ : `float`
    If the distance metric between two points is lower than this threshold,
    points will be classified as similar, otherwise they will be
    classified as dissimilar.
class_docstr_tok: ["Base","class","for","pairs","learners",".","Attributes","--","--","--","--","--","threshold_",":","`","float","`","If","the","distance","metric","between","two","points","is","lower","than","this","threshold",",","points","will","be","classified","as","similar",",","otherwise","they","will","be","classified","as","dissimilar","."]
docstr: Predicts the learned metric between input pairs. (For now it just
  calls decision function).
  
  Returns the learned metric value between samples in every pair. It should
  ideally be low for similar samples and high for dissimilar samples.
  
  Parameters
  ----------
  pairs : array-like, shape=(n_pairs, 2, n_features) or (n_pairs, 2)
    3D Array of pairs to predict, with each row corresponding to two
    points, or 2D array of indices of pairs if the metric learner uses a
    preprocessor.
  
  Returns
  -------
  y_predicted : `numpy.ndarray` of floats, shape=(n_constraints,)
    The predicted learned metric value between samples in every pair.
docstr_tok: ["Predicts","the","learned","metric","between","input","pairs",".","(","For","now","it","just","calls","decision","function",")",".","Returns","the","learned","metric","value","between","samples","in","every","pair",".","It","should","ideally","be","low","for","similar","samples","and","high","for","dissimilar","samples",".","Parameters","--","--","--","--","--","pairs",":","array-like",",","shape=","(","n_pairs",",","2",",","n_features",")","or","(","n_pairs",",","2",")","3D","Array","of","pairs","to","predict",",","with","each","row","corresponding","to","two","points",",","or","2D","array","of","indices","of","pairs","if","the","metric","learner","uses","a","preprocessor",".","Returns","--","--","--","-","y_predicted",":","`","numpy.ndarray","`","of","floats",",","shape=","(","n_constraints",",",")","The","predicted","learned","metric","value","between","samples","in","every","pair","."]
code: def predict(self, pairs):
      """Predicts the learned metric between input pairs. (For now it just
      calls decision function).
  
      Returns the learned metric value between samples in every pair. It should
      ideally be low for similar samples and high for dissimilar samples.
  
      Parameters
      ----------
      pairs : array-like, shape=(n_pairs, 2, n_features) or (n_pairs, 2)
        3D Array of pairs to predict, with each row corresponding to two
        points, or 2D array of indices of pairs if the metric learner uses a
        preprocessor.
  
      Returns
      -------
      y_predicted : `numpy.ndarray` of floats, shape=(n_constraints,)
        The predicted learned metric value between samples in every pair.
      """
      check_is_fitted(self, "preprocessor_")
  
      if "threshold_" not in vars(self):
          msg = (
              "A threshold for this estimator has not been set, "
              "call its set_threshold or calibrate_threshold method."
          )
          raise AttributeError(msg)
      return 2 * (-self.decision_function(pairs) <= self.threshold_) - 1
  
imports: from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.utils.extmath import stable_cumsum
  from sklearn.utils.validation import _is_arraylike, check_is_fitted
  from sklearn.metrics import roc_auc_score, roc_curve, precision_recall_curve
  import numpy
  from abc import ABCMeta, abstractmethod
  from ._util import ArrayIndexer, check_input, validate_vector
  import warnings
label_desc: Use image node_id 1 for calling the _PairsClassifierMixin obj's underlying member method code with example usage: obj.predict(pairs) and returns: unknown