| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| baseline | 10 items | ||
| conversion_fit | 7 items | ||
| images | 9 items | ||
| tabular | 7 items | ||
| text | 7 items | ||
| vision | 6 items | ||
| README.md | 2.74 kB xet | 31ccb370 | |
| logbook.ipynb | 15.8 kB xet | 488f54c9 | |
| manifest.json | 7.32 kB xet | 7b6441f2 | |
| report.md | 20.8 kB xet | eb23fc04 |
Threshold-conversion artifacts
Question: can any multiclass classifier's threshold curve be converted to a 0.5-threshold binary rule equivalent to argmax, and can the conversion preserve maximum F1?
Verdict: the conversion is an exact reparameterization of a chosen threshold (binary), or of each class's chosen threshold (multiclass). It cannot turn one fixed 0.5 rule into argmax for C >= 3, and it cannot improve F1; it only moves the selected operating point to 0.5.
Layout
baseline/theory, uniform simplex, sklearn digitstext/DistilBERT SST-2, Twitter-RoBERTa sentiment, DistilBERT emotionvision/ViT-B/16 ImageNet head on CIFAR-10 (1000 classes, OOD)conversion_fit/fixed C x C linear fit to argmax labelstabular/30 tabular dataset/classifier pairs with max-F1 conversionmanifest.jsonexperiment ids, run ids, commits, metrics, linksreport.mdfull synthesis (figures embedded)logbook.ipynbexecutable notebook with formulae, tables and every link
Headline numbers
| model | C | n | argmax | delta_0.5 | coverage | exact adaptive |
|---|---|---|---|---|---|---|
| sklearn digits | 10 | 540 | 97.22% | 0.74% | 99.26% | yes |
| DistilBERT SST-2 | 2 | 872 | 91.06% | 0.00% | 100.00% | yes |
| Twitter-RoBERTa sentiment | 3 | 2000 | 71.50% | 4.65% | 95.35% | yes |
| DistilBERT emotion | 6 | 2000 | 92.70% | 0.20% | 99.80% | yes |
| ViT-B/16 on CIFAR-10 | 1000 | 1000 | n/a | 51.00% | 49.00% | yes |
Tabular max-F1 test: all 30 conversions are exact; F1(test, tau*) equals
F1(test, converted 0.5) exactly. The selected threshold is not 0.5: binary
tau* ranges 0.482-0.998, and multiclass per-class tau* spans up to 1.0. A
20-class random forest has delta_0.5 = 99.80% (998/1000 abstain), macro-F1 0.004
at 0.5, argmax F1 0.5495, and converted-argmax agreement only 87.2%.
Links
- Upstream repo: https://github.com/isllabres/python-multiagent-system
- Fork: https://github.com/jomasego/python-multiagent-system
- Bucket: https://huggingface.co/buckets/jomasego/repro-threshold-conversion-artifacts
- Models: https://huggingface.co/cardiffnlp/twitter-roberta-base-sentiment-latest , https://huggingface.co/bhadresh-savani/distilbert-base-uncased-emotion , https://huggingface.co/google/vit-base-patch16-224 , https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english
- Datasets: https://huggingface.co/datasets/cardiffnlp/tweet_eval , https://huggingface.co/datasets/dair-ai/emotion , https://huggingface.co/datasets/uoft-cs/cifar10 , https://huggingface.co/datasets/stanfordnlp/sst2
HF Jobs were attempted for the text node but the account has no pre-paid Jobs
credit: 402: Pre-paid credit balance is insufficient. No Job URL exists.
- Total size
- 5.29 MB
- Files
- 50
- Last updated
- Oct 20
- Pre-warmed CDN
- US EU US EU