code: def score(self, X, y=None):
          
          # If we don't do this check, then it is possible that OneVsRestClassifier
          # has not correctly been fitted for multi-class targets.
          if not hasattr(self, "target_type_"):
              raise NotFitted((
                  "{} cannot wrap an already fitted estimator"
              ).format(
                  self.__class__.__name__
              ))
  
          # Compute the prediction/threshold scores
          y_scores = self._get_y_scores(X)
  
          # Handle binary and multiclass cases to create correct data structure
          if self.target_type_ == BINARY:
              self.precision_, self.recall_, _ = sk_precision_recall_curve(y, y_scores)
              self.score_ = average_precision_score(y, y_scores)
          else:
              # Use label_binarize to create multi-label ouptut for OneVsRestClassifier
              Y = label_binarize(y, classes=self._target_labels)
  
              self.precision_, self.recall_, self.score_ = {}, {}, {}
  
              # Compute PRCurve for all classes
              for i, class_i in enumerate(self.classes_):
                  self.precision_[class_i], self.recall_[class_i], _ = sk_precision_recall_curve(Y[:,i], y_scores[:,i])
                  self.score_[class_i] = average_precision_score(Y[:,i], y_scores[:,i])
  
              # Compute micro average PR curve
              self.precision_[MICRO], self.recall_[MICRO], _ = sk_precision_recall_curve(
                  Y.ravel(), y_scores.ravel()
              )
              self.score_[MICRO] = average_precision_score(Y, y_scores, average=MICRO)
  
          # Draw the figure
          self.draw()
  
          # Return a score between 0 and 1
          if self.target_type_ == BINARY:
              return self.score_
          return self.score_[MICRO]
docs: Generates the Precision-Recall curve on the specified test data.
  
          Returns
          -------
          score_ : float
              Average precision, a summary of the plot as a weighted mean of
              precision at each threshold, weighted by the increase in recall from
              the previous threshold.