class_docstr: Summarize the results of the XShiftDetector.  It will render the results as markdown in jupyter.
  This will contain the detection status (True if detected), the details of the hypothesis test (test
  statistic, pvalue), and the feature importances for the detection.
docstr: Output the results of C2ST in a human readable format
code: def _summary(self, results: dict) -> str:
      """Output the results of C2ST in a human readable format"""
      if not results["detection_status"]:
          ret_md = "We did not detect a substantial difference between the training and test X distributions."
          return ret_md
      else:
          ret_md = (
              f"We detected a substantial difference between the training and test X distributions,\n"
              f"a type of distribution shift.\n"
              f"\n"
              f"**Test results**: "
              f"We can predict whether a sample is in the test vs. training set with a `{results['eval_metric']}` of\n"
              f"`{results['test_statistic']:.4f}` with a p-value of `{results['pvalue']:.4f}` "
              f"(smaller than the threshold of `{results['pvalue_threshold']:.4f})`.\n"
              f"\n"
          )
      return ret_md
  
file_path: autogluon/eda/src/autogluon/eda/visualization/shift.py
imports: from typing import Optional
  from ..None import AnalysisState
  from .base import AbstractVisualization
  from .jupyter import JupyterMixin
label_desc: Use image node_id 2 for calling the XShiftSummary obj's underlying member method code with example usage: obj._summary(results) and returns: ret_md, ret_md