Views
No views yet
char_wb (3,5)-gram TF-IDF features
with logistic regression. Prefixes before first_guidance_user_turn_id are
negative; the onset prefix and all subsequent prefixes are positive. Each
prefix is weighted by the inverse of the conversation's number of user turns,
so every conversation has total training weight 1.0.main (latest at execution)489b87c18e571e8c7e9a3b1c2463b79e50cef120C: 0.25| Evaluation | Macro-F1 | Positive F1 | AUPRC | Accuracy | Balanced accuracy |
|---|---|---|---|---|---|
| All prefixes, conversation-weighted | 0.8600 | 0.8387 | 0.8850 | 0.8632 | 0.8664 |
| All prefixes, unweighted | 0.8269 | 0.8079 | 0.8452 | 0.8289 | 0.8354 |
| Final/full prefixes | 0.8787 | 0.8699 | 0.9199 | 0.8793 | 0.8789 |
| Majority reference, weighted prefixes | 0.3740 | 0.0000 | 0.4026 | 0.5974 | 0.5000 |
| Measure | Value |
|---|---|
| Negative-conversation false-alarm rate | 0.1474 |
| Pre-onset false-alarm rate | 0.1269 |
| Missed-guidance rate | 0.0970 |
| Exact onset accuracy | 0.7164 |
| Within-one-user-turn accuracy | 0.8209 |
| Mean absolute turn error among detected positives | 0.4215 |
tfidf_prefix_pipeline.joblib: fitted feature union, classifier, threshold,
and provenanceprefix_validation_metrics.json: complete metrics, candidate results, and
selected threshold curveprefix_validation_predictions.csv: per-prefix probabilities and predictionsonset_validation_predictions.csv: conversation-level onset predictionsrun_metadata.json: data, feature, software, and split provenancefirst_guidance_user_turn_id.1import joblib
2
3artifact = joblib.load("tfidf_prefix_pipeline.joblib")
4X = artifact["features"].transform(["User: example text"])
5probability = artifact["classifier"].predict_proba(X)[:, 1]
6prediction = (probability >= artifact["guidance_threshold"]).astype(int)