code: def test_detection_results():
      dataset = foz.load_zoo_dataset("quickstart")
  
      results = dataset.evaluate_detections(
          "predictions", classwise=False
      )
  
      # Get the 10 most common classes in the dataset
      counts = dataset.count_values("ground_truth.detections.label")
      classes = sorted(counts, key=counts.get, reverse=True)[:10]
  
      # Print a classification report for the top-10 classes
      # Should show only per-class metrics for the specified classes, but other
      # predictions not in `classes` for GTs that are in `classes` should be
      # taken into account for P/R/F1 scores
      results.print_report(classes=classes)
  
      # Should contain "other" and "none" columns
      plot = results.plot_confusion_matrix(classes=classes)
      plot.show()
  
      # Should not contain "other" or "none" columns
      plot = results.plot_confusion_matrix(
          classes=classes, include_other=False
      )
      plot.show()
  
      # Should contain "other" and "none" columns, as well as a "none" row
      plot = results.plot_confusion_matrix(
          classes=classes + [results.missing]
      )
      plot.show()
  
      # Should contain "none" row and columns
      plot = results.plot_confusion_matrix(
          classes=classes + [results.missing], include_other=False
      )
      plot.show()
  
      input("Press enter to continue...")
  
file_path: fiftyone/tests/intensive/evaluation_tests.py
imports: import random
  import unittest
  import numpy
  import eta.core.utils
  import pytest
  import fiftyone
  import fiftyone.zoo
  from fiftyone import ViewField
label_desc: Use image node_id 12 for calling a global function with example usage: test_detection_results() without return types