class_docstr: Test ROCAUC visualizer
class_docstr_tok: ["Test","ROCAUC","visualizer"]
docstr: Test ROCAUC with multiclass classifiers that have a decision function
docstr_tok: ["Test","ROCAUC","with","multiclass","classifiers","that","have","a","decision","function"]
code: def test_multi_decision_function_rocauc(self):
      """
      Test ROCAUC with multiclass classifiers that have a decision function
      """
      # Load the model and assert there is no predict_proba method.
      model = LinearSVC()
      with pytest.raises(AttributeError):
          model.predict_proba
  
      # Fit model and visualizer
      visualizer = ROCAUC(model)
      visualizer.fit(self.multiclass.X.train, self.multiclass.y.train)
  
      # First 5 expected arrays in the y_scores
      first_five_expected = [
          [-0.370, -0.543, -1.059, -0.466, -0.743, -1.156],
          [-0.445, -0.693, -0.362, -1.002, -0.815, -0.878],
          [-1.058, -0.808, -0.291, -0.767, -0.651, -0.586],
          [-0.446, -1.255, -0.489, -0.961, -0.807, -0.126],
          [-1.066, -0.493, -0.639, -0.442, -0.639, -1.017],
      ]
  
      # Get the predict_proba scores and evaluate
      y_scores = visualizer._get_y_scores(self.multiclass.X.train)
  
      # Check to see if the first 5 y_score arrays match the expected
      npt.assert_array_almost_equal(
          y_scores[:5], first_five_expected, decimal=1
      )
  
imports: import pytest
  import numpy
  import numpy.testing
  from unittest.mock import patch
  from tests.base import VisualTestCase
  from yellowbrick.classifier.rocauc import *
  from yellowbrick.exceptions import ModelError
  from yellowbrick.datasets import load_occupancy
  from sklearn.svm import LinearSVC, SVC
  from sklearn.naive_bayes import GaussianNB
  from sklearn.linear_model import LogisticRegression
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.model_selection import train_test_split
  from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
  from sklearn.preprocessing import MinMaxScaler
  from sklearn.pipeline import Pipeline
label_desc: Use image node_id 20 for calling the TestROCAUC obj's underlying member method code with example usage: obj.test_multi_decision_function_rocauc() without return types