code: def _test_classifier(
      classifier,
      dataset="iris",
      sparse=False,
      train_size_maximum=150,
      make_multilabel=False,
      make_binary=False,
  ):
      X_train, Y_train, X_test, Y_test = get_dataset(
          dataset=dataset,
          make_sparse=sparse,
          train_size_maximum=train_size_maximum,
          make_multilabel=make_multilabel,
          make_binary=make_binary,
      )
  
      configuration_space = classifier.get_hyperparameter_search_space(
          dataset_properties={"sparse": sparse}
      )
      default_config = configuration_space.get_default_configuration()
  
      classifier = classifier(random_state=0, **default_config)
  
      if hasattr(classifier, "iterative_fit"):
  
          class counter(object):
              def __init__(self, func):
                  self.n_calls = 0
                  self.func = func
  
              def __call__(self, *args, **kwargs):
                  self.n_calls += 1
                  return self.func(*args, **kwargs)
  
          classifier.iterative_fit = counter(classifier.iterative_fit)
  
      predictor = classifier.fit(X_train, Y_train)
  
      if hasattr(classifier, "iterative_fit"):
          n_calls = classifier.iterative_fit.n_calls
      else:
          n_calls = None
  
      predictions = predictor.predict(X_test)
      return predictions, Y_test, n_calls
  
imports: import importlib
  import inspect
  import os
  import pkgutil
  import numpy
  import scipy.sparse
  import sklearn
  import sklearn.base
  import sklearn.datasets
  import unittest
label_desc: Use image node_id 3 for calling a global function with example usage: _test_classifier(classifier, dataset, sparse, train_size_maximum, make_multilabel, make_binary) and returns: predictions,  Y_test,  n_calls, self