class_docstr: DiscriminationThreshold visualizer tests
class_docstr_tok: ["DiscriminationThreshold","visualizer","tests"]
docstr: Assert requires probabilistic classifier
code: def test_requires_probabilistic_classifier(self):
      """
      Assert requires probabilistic classifier
      """
      message = "requires a probabilistic binary classifier"
  
      class RoboClassifier(ClassifierMixin):
          """
          Dummy Non-Probabilistic Classifier
          """
  
          def fit(self, X, y):
              self.classes_ = [0, 1]
              return self
  
      assert is_classifier(RoboClassifier)
      assert not is_probabilistic(RoboClassifier)
  
      with pytest.raises(yb.exceptions.YellowbrickError, match=message):
          DiscriminationThreshold(RoboClassifier())
  
imports: import sys
  import pytest
  import yellowbrick
  import matplotlib.pyplot
  from yellowbrick.classifier.threshold import *
  from yellowbrick.datasets import load_occupancy, load_spam
  from yellowbrick.utils import is_probabilistic, is_classifier
  from unittest.mock import patch
  from tests.base import VisualTestCase
  from numpy.testing import assert_array_equal
  from sklearn.base import ClassifierMixin
  from sklearn.svm import LinearSVC, NuSVC
  from sklearn.impute import SimpleImputer
  from sklearn.pipeline import Pipeline
  from sklearn.datasets import make_classification
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.naive_bayes import BernoulliNB, GaussianNB
  from sklearn.linear_model import Ridge, LogisticRegression
  from sklearn.model_selection import StratifiedShuffleSplit
label_desc: Use image node_id 10 for calling the TestDiscriminationThreshold obj's underlying member method code with example usage: obj.test_requires_probabilistic_classifier() and returns: self