{"model":"logreg","package_version":"0.1.0","model_version":"0.1.0+5d310c0","git_sha":"5d310c033a1cf8a3021574bf3914405923a27bd4","git_sha_short":"5d310c0","git_dirty":false,"data_sha256":"cbceef78546853a516edb24689bd9a78cc2a2d6bcc5d5cc9a9e3dee6f923c199","trained_at":"2026-09-08T21:53:52Z","n_train":8269,"n_features":5000,"selection_metric":"roc_auc","cv_folds":5,"candidates":{"logreg":{"cv_roc_auc_mean":0.8868,"cv_roc_auc_std":0.0047,"cv_accuracy_mean":0.8037,"cv_f1_mean":0.8057,"fit_seconds":0.05},"nb":{"cv_roc_auc_mean":0.8685,"cv_roc_auc_std":0.004,"cv_accuracy_mean":0.782,"cv_f1_mean":0.7802,"fit_seconds":0.01},"xgboost":{"cv_roc_auc_mean":0.8704,"cv_roc_auc_std":0.0069,"cv_accuracy_mean":0.7876,"cv_f1_mean":0.7982,"fit_seconds":19.9}},"winner_params":{"C":1.0,"max_iter":1000},"libraries":{"python":"3.12.2","scikit-learn":"1.9.0","numpy":"2.5.3","pandas":"2.3.3","scipy":"1.18.1","nltk":"3.10.3","xgboost":"3.4.1","joblib":"1.6.0"},"metrics":{"accuracy":0.8129,"f1":0.814,"roc_auc":0.889,"pr_auc":0.8909,"n_test":2068,"trained_at":"2026-09-08T21:53:52Z","threshold":0.5},"loadtest":{"p50_ms":90.1,"p95_ms":140.6,"p99_ms":218.81,"mean_ms":90.96,"rps":105.71,"error_rate":0.0,"requests":300,"concurrency":10,"host":"local uvicorn, Windows 11, Python 3.12, single process","timestamp":"2026-09-08T21:55:01Z","url":"http://127.0.0.1:8000"},"params":{"max_chars":1000,"batch_max":100},"disclaimer":"Demonstration system trained on public tweets labelled happiness or sadness by crowd workers in 2016. It scores short English text only and is not a mental-health tool."}