code: def make_classifier(
      module,
      answers,
      classes=None,
      class_names=None,
      rules_class=None,
      name="Classifier",
      feature_names=[f"{INPUT_OBJECTS}_{TEST_FTR}"],
  ):
      """Returns the filename of the classifier pickle"""
      assert isinstance(
          module, cellprofiler.modules.filterobjects.FilterObjects
      )
      if classes is None:
          classes = numpy.arange(1, numpy.max(answers) + 1)
      if class_names is None:
          class_names = ["Class%d" for _ in classes]
      if rules_class is None:
          rules_class = class_names[0]
      s = make_classifier_pickle(
          answers, classes, class_names, name, feature_names
      )
      fd, filename = tempfile.mkstemp(".model")
      os.write(fd, s)
      os.close(fd)
  
      module.mode.value = (
          cellprofiler.modules.filterobjects.MODE_CLASSIFIERS
      )
      module.rules_class.value = rules_class
      module.rules_directory.set_custom_path(os.path.dirname(filename))
      module.rules_file_name.value = os.path.split(filename)[1]
      yield
      try:
          os.remove(filename)
      except:
          pass
  
imports: import contextlib
  import io
  import os
  import pickle
  import tempfile
  import numpy
  import pytest
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler_core.modules
  from cellprofiler_core.constants.measurement import FF_PARENT, FF_COUNT, FF_CHILDREN_COUNT, M_LOCATION_CENTER_X, M_LOCATION_CENTER_Y, M_LOCATION_CENTER_Z, M_NUMBER_OBJECT_NUMBER
  import cellprofiler.modules.filterobjects
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.preferences
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 2 for calling a global function with example usage: make_classifier(module, answers, classes, class_names, rules_class, name, feature_names) without return types