code: def test_reduce_output(mnist_visiondata_test):
      # Arrange
      check = SingleDatasetPerformance(
          scorers={
              "pr": CustomClassificationScorer("precision_per_class"),
              "ac": CustomClassificationScorer("accuracy"),
          }
      )
  
      # Act
      result = check.run(mnist_visiondata_test).reduce_output()
  
      # Assert
      assert_that(result["ac"], close_to(0.99, 0.01))
      assert_that(result[("pr", "0")], close_to(1, 0.01))
      assert_that(result[("pr", "9")], close_to(0.954, 0.01))
  
      assert_that(check.greater_is_better(), equal_to(True))
  
file_path: deepchecks/tests/vision/checks/model_evaluation/single_dataset_performance_test.py
imports: from hamcrest import assert_that, close_to, equal_to, has_length
  from ignite.metrics import Accuracy, Precision
  from sklearn.metrics import jaccard_score, make_scorer
  from deepchecks.core import ConditionCategory
  from deepchecks.vision.checks import SingleDatasetPerformance
  from deepchecks.vision.metrics_utils import ObjectDetectionTpFpFn
  from deepchecks.vision.metrics_utils.custom_scorer import CustomClassificationScorer
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 9 for calling a global function with example usage: test_reduce_output(mnist_visiondata_test) without return types