Add ML scoring: model, training pipeline, and fallback fix
Joshua Wehr+1: Claude Sonnet 4.6
d88effc
- ml/models/: trained HistGradientBoostingRegressor (R²=0.97, scikit-learn 1.8.0)
- ml/train.py, labels.py, splits.py, data/: full training pipeline from SurfSense
- app/agents/condition_agent.py: graceful fallback to rule-based scoring if model
file is missing or fails to load, preventing assess_conditions from crashing
- requirements.txt: add shap (required at runtime for SHAP feature contributions)
- app_gradio.py: remove show_copy_button from chatbot
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>