class_docstr: Helper class to automatically pick up every models classes in a module.
  Filters out classes not inheriting from cuml.Base.
  
  Parameters
  ----------
  module: python module (ex: cuml.linear_regression)
      The module for which to retrieve models.
  exclude_classes: list of classes (optional)
      Those classes will be filtered out from the retrieved models.
  custom_constructors: dictionary of {class_name: lambda}
      Custom constructors to use instead of the default one.
      ex: {'LogisticRegression': lambda: cuml.LogisticRegression(handle=1)}
  recursive: bool, default=False
      Instructs the class to recursively search submodules when True,
      otherwise only classes in the specified model will be enumerated
class_docstr_tok: ["Helper","class","to","automatically","pick","up","every","models","classes","in","a","module",".","Filters","out","classes","not","inheriting","from","cuml.Base",".","Parameters","--","--","--","--","--","module",":","python","module","(","ex",":","cuml.linear_regression",")","The","module","for","which","to","retrieve","models",".","exclude_classes",":","list","of","classes","(","optional",")","Those","classes","will","be","filtered","out","from","the","retrieved","models",".","custom_constructors",":","dictionary","of","{","class_name",":","lambda","}","Custom","constructors","to","use","instead","of","the","default","one",".","ex",":","{","'LogisticRegression","'",":","lambda",":","cuml.LogisticRegression","(","handle=1",")","}","recursive",":","bool",",","default=False","Instructs","the","class","to","recursively","search","submodules","when","True",",","otherwise","only","classes","in","the","specified","model","will","be","enumerated"]
code: def __init__(
      self,
      module,
      exclude_classes=None,
      custom_constructors=None,
      recursive=False,
  ):
      self.module = module
      self.exclude_classes = exclude_classes or []
      self.custom_constructors = custom_constructors or []
      self.recursive = recursive
  
imports: import pytest
  from cuml.internals.mem_type import MemoryType
  from cuml.internals.input_utils import input_to_cuml_array, is_array_like
  from cuml.internals.base import Base
  import cuml
  from sklearn.model_selection import train_test_split
  from sklearn.metrics import mean_squared_error, brier_score_loss
  from sklearn.datasets import make_classification, make_regression
  from sklearn import datasets
  from pylibraft.common.cuda import Stream
  from sklearn.datasets import make_regression
  from numba.cuda.cudadrv.devicearray import DeviceNDArray
  from numbers import Number
  from cuml.internals.safe_imports import gpu_only_import_from
  from itertools import dropwhile
  from copy import deepcopy
  from cuml.internals.safe_imports import cpu_only_import
  import inspect
  from textwrap import dedent, indent
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 1 to create a new ClassEnumerator object  with example: obj = ClassEnumerator(module, exclude_classes, custom_constructors, recursive)