| name | interpret-results |
| description | Interpret and explain GAFIME DiagnosticReport results in plain English. Use when the user has run GAFIME and wants to understand the output, asks about Pearson correlation values, p-values, stability metrics, signal detection, feature interaction results, or says things like "what does this report mean", "explain the results", "is this feature interaction significant", "what does signal detected mean", or "interpret my GAFIME output". |
Interpret GAFIME Results
Translate GAFIME's DiagnosticReport into actionable, human-readable insights.
Instructions
-
Ask the user to either:
- Share the report output (printed
DiagnosticReport)
- Share the live
report object in their notebook/session
- Or provide their analysis script so you can add the interpretation code
-
Prefer native report properties. Do not ask users to serialize the report to
JSON for normal framework integration. Use:
signal = report.decision.signal_detected if report.decision else False
backend = report.backend.name if report.backend else "unknown"
top = sorted(
report.interactions,
key=lambda item: max(abs(v) if k in ("pearson", "spearman") else v for k, v in item.metrics.items()),
reverse=True,
)[:10]
DiagnosticReport.to_dict() is deprecated and should only be used as an
explicit export boundary for legacy tooling.
-
Explain each section clearly:
Signal Detection:
signal_detected = True means GAFIME found at least one feature interaction that is statistically significant, stable, and has non-zero predictive power.
signal_detected = False means no interaction passed all three tests (strength, stability, significance).
Top Interactions:
- Pearson r close to 1.0 or -1.0 = very strong linear relationship
- Pearson r around 0.3-0.7 = moderate, potentially useful
- Pearson r below 0.1 = weak, likely noise
- Explain what the feature combination MEANS (e.g., "f3 x f7 = the interaction of feature 3 and feature 7")
- If
family == "discrete_function", explain the threshold, interval, or
rectangle expression rather than treating it as a plain multiplication.
- For discrete candidates, preserve the user's metric choice. Do not assume
Pearson if the report used mutual information, Spearman, or R2.
Stability Analysis:
- metrics_std below 0.01 = extremely stable (trustworthy)
- metrics_std 0.01-0.05 = stable (good)
- metrics_std 0.05-0.10 = borderline (use with caution)
- metrics_std above 0.10 = unstable (don't trust this feature)
Permutation Test:
- p-value below 0.01 = very significant (strong evidence this isn't random)
- p-value 0.01-0.05 = significant (standard threshold)
- p-value above 0.05 = not significant (could be random chance)
-
Provide actionable recommendations:
- Which interactions to use in their model
- Which to discard (high p-value or unstable)
- Whether to increase
permutation_tests for more confidence
- Next steps (feed into CatBoost, XGBoost, etc.)
Example
User says: "GAFIME found 47 interactions but I don't know which ones matter"
Result: "Of your 47 interactions, 5 are statistically significant (p < 0.05) and stable (std < 0.05). The top one is log(feature_3) x feature_7 with Pearson r=0.82 — this is a strong signal. I'd recommend using these 5 as additional features in your model..."