class_docstr: Base class for quadruplets learners.
class_docstr_tok: ["Base","class","for","quadruplets","learners","."]
docstr: Predicts differences between sample distances in input quadruplets.
  
  For each quadruplet in the samples, computes the difference between the
  learned metric of the second pair minus the learned metric of the first
  pair. The higher it is, the more probable it is that the pairs in the
  quadruplet are presented in the right order, i.e. that the label of the
  quadruplet is 1. The lower it is, the more probable it is that the label of
  the quadruplet is -1.
  
  Parameters
  ----------
  quadruplets : array-like, shape=(n_quadruplets, 4, n_features) or                   (n_quadruplets, 4)
    3D Array of quadruplets to predict, with each row corresponding to four
    points, or 2D array of indices of quadruplets if the metric learner
    uses a preprocessor.
  
  Returns
  -------
  decision_function : `numpy.ndarray` of floats, shape=(n_constraints,)
    Metric differences.
docstr_tok: ["Predicts","differences","between","sample","distances","in","input","quadruplets",".","For","each","quadruplet","in","the","samples",",","computes","the","difference","between","the","learned","metric","of","the","second","pair","minus","the","learned","metric","of","the","first","pair",".","The","higher","it","is",",","the","more","probable","it","is","that","the","pairs","in","the","quadruplet","are","presented","in","the","right","order",",","i.e",".","that","the","label","of","the","quadruplet","is","1",".","The","lower","it","is",",","the","more","probable","it","is","that","the","label","of","the","quadruplet","is","-1",".","Parameters","--","--","--","--","--","quadruplets",":","array-like",",","shape=","(","n_quadruplets",",","4",",","n_features",")","or","(","n_quadruplets",",","4",")","3D","Array","of","quadruplets","to","predict",",","with","each","row","corresponding","to","four","points",",","or","2D","array","of","indices","of","quadruplets","if","the","metric","learner","uses","a","preprocessor",".","Returns","--","--","--","-","decision_function",":","`","numpy.ndarray","`","of","floats",",","shape=","(","n_constraints",",",")","Metric","differences","."]
code: def decision_function(self, quadruplets):
      """Predicts differences between sample distances in input quadruplets.
  
      For each quadruplet in the samples, computes the difference between the
      learned metric of the second pair minus the learned metric of the first
      pair. The higher it is, the more probable it is that the pairs in the
      quadruplet are presented in the right order, i.e. that the label of the
      quadruplet is 1. The lower it is, the more probable it is that the label of
      the quadruplet is -1.
  
      Parameters
      ----------
      quadruplets : array-like, shape=(n_quadruplets, 4, n_features) or \
                    (n_quadruplets, 4)
        3D Array of quadruplets to predict, with each row corresponding to four
        points, or 2D array of indices of quadruplets if the metric learner
        uses a preprocessor.
  
      Returns
      -------
      decision_function : `numpy.ndarray` of floats, shape=(n_constraints,)
        Metric differences.
      """
      check_is_fitted(self, "preprocessor_")
      quadruplets = check_input(
          quadruplets,
          type_of_inputs="tuples",
          preprocessor=self.preprocessor_,
          estimator=self,
          tuple_size=self._tuple_size,
      )
      return self.pair_score(quadruplets[:, :2]) - self.pair_score(
          quadruplets[:, 2:]
      )
  
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 2 for calling the _QuadrupletsClassifierMixin obj's underlying member method code with example usage: obj.decision_function(quadruplets) and returns: unknown