Class-conditional conformal prediction calibrates a separate score threshold for every class and therefore requires labelled calibration examples of every class. In long-tailed deployments these are exactly what is missing: rare classes are left with few or no held-out examples, and existing methods are either undefined for them or fall back to the shared marginal threshold. We ask whether the per-class correction can instead be predicted from descriptors of the class that require no labels at all. We propose Predicted Class Correction (PCC), which regresses the offset between the per-class and the marginal conformal quantile on geometric descriptors of the classifier head, shrinks the prediction by a scalar selected on the labelled classes, and refits a single marginal offset. The descriptors depend only on the model's weights, so a class with zero calibration examples still receives its own threshold, and since only one scalar is calibrated, split conformal's marginal guarantee is retained. On ImageNet, PCC improves worst-class coverage on such classes by 0.058 [0.006, 0.110] at matched average set size, 42% of an oracle that sees the test labels. Of eight baselines on the same splits, six change the statistic by exactly zero and the best reaches 0.016 with an interval containing zero, so PCC is the only one distinguishable from no improvement; the gain persists with only 100 labelled classes out of 1000. A second finding concerns evaluation: worst-class coverage becomes unmeasurable before it becomes unachievable. Below roughly 35 test examples per class no improvement can be shown even for an oracle, so a null result there reflects the evaluation set, not the method. Restricting evaluation above this depth recovers a significant improvement on Pl@ntNet-300K, where the effect had appeared absent.
Figures & tables
Figure 1: A class with no calibration example still receives a threshold of its own. ImageNet class 754 is held out, so ny=0 : every classwise method either leaves it undefined or hands it the shared marginal threshold. Its descriptor φ(y) is read from the classifier head, whose three nearest rows to it are other audio equipment, and the fitted regression turns that geometry into an offset. The threshold moves from q^=0.9657 to 0.9812 and coverage of the class from 0.658 to 0.750 , against 0.803 for an oracle given the test labels. The class shown is the held-out class with the lowest coverage under the marginal threshold, fixed by that rule before any image was looked at.
Method
Δ worst-class
Undefined
Standard
+0.000[0.000,0.000]
0/300
Classwise
+0.000[0.000,0.000]
300/300
Clustered
+0.000[0.000,0.000]
0/300
Rc3p
+0.000[0.000,0.000]
300/300
Fuzzy , quantile
+0.000[0.000,0.000]
0/300
Fuzzy , rarity
+0.000[−0.000,+0.001]
0/300
Table 1: Classes with zero calibration examples. Standard [ 45 ] , Classwise [ 38 ] , Clustered [ 11 ] , Rc3p [ 41 ] , and Fuzzy and Interp-Q [ 12 ] . Change in worst-class coverage over the marginal threshold, at matched average set size ( 1.221 for every row), on 300 held-out ImageNet classes, five splits at the protocol of Sec. 4 . PCC is in the split variant of Sec. 3.5 , so the row carrying the headline is the one Proposition 2 covers; the reuse variant gives the same figure to four decimals ( Sec. P ), as does solving the size match on calibration rows rather than evaluation rows ( Sec. V ). PCC is the only method whose interval excludes zero. “Undefined” counts classes a method could not give a threshold to, before the pre-registered fallback. Baseline numbers come from their released code, and for Fuzzy CP the kernel bandwidth is swept with the best kept, which favours the baseline; the winning bandwidth is not stable across splits.
Ablation
Δ vs. full
dz
Holm
λ=0 (no correction)
+0.032
1.30
✓
λ=1 (unshrunk)
+0.584
3.99
✓
distance descriptors only
+0.039
1.49
✓
prevalence descriptor only
+0.032
1.30
✓
without prevalence
+0.011
0.33
—
n⋆ rule replaced
+0.000
—
—
Table 2: Ablations on ImageNet at α=0.10 , ten splits. Positive means the full method is better. dz is Cohen’s paired effect size [ 8 ] ; the last column marks Holm-corrected significance at 0.05 [ 24 ] . The last two rows are identical to the full method at matched set size by construction ( Sec. I ).
Figure 2: (a) Evaluation examples available per class, sorted, for the three datasets. The dashed line is the 30 -example threshold below which a per-class coverage estimate is withheld ( Tab. S2 ); 83% of Pl@ntNet-300K classes and 97% of iNaturalist-2018 classes fall below it, against none of ImageNet’s. (b) Capping evaluation examples per class inside one dataset with everything else fixed: below roughly 35 the oracle ceiling itself falls to zero, so no method, including one that observes the test labels, can be shown to improve worst-class coverage. The settings where PCC appeared to fail sit at 35 (additional backbones), 3 (Pl@ntNet-300K) and 2 (iNaturalist-2018). (c) Sweeping how many classes have no calibration data at all; the x -values correspond to 900 , 700 , 500 , 300 and 100 labelled classes out of 1000 . Bars are 95% confidence intervals over five splits.
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
Method
qy built from
If ny=0
Standard [ 45 ]
shared quantile
shared
Classwise [ 38 ]
own quantile
∞
Clustered [ 11 ]
cluster quantile
shared
Rc3p [ 41 ]
quantile + rank
∞
Fuzzy [ 12 ]
kernel weights
shared
Pas [ 12 ]
shared quantile
shared
Appendix
Table S1: Methods that give a class its own conformal threshold. All of them target at least marginal coverage; the columns that separate them are what happens to a class with no labelled calibration examples, and how specific to that class the threshold it receives can be. Three methods do produce a defined threshold there without per-class labels: Pas reshapes the score using prevalence, Interp-Q caps the undefined classwise quantile at one before blending, and Tacp penalises the score of head classes, which gives one degree of freedom per prevalence group instead of one per class. Behaviours were obtained by running the authors’ released implementations on the same held-out classes, except for Tacp , whose authors release no code; Tab. 1 reports the coverage that results.
Metric
Definition
c^y
∣Jy∣1∑i∈Jy1{Yi∈C(Xi)}
Worst-class (A)
minyc^y
Bin-worst (B)
minbc^(b) , prevalence bins
Δ worst
worst-class minus marginal
Below target
∣Y∣1∑y1{c^y<1−α}
SSCV
maxb∣c^(b)−(1−α)∣ , strata
Appendix
Table S2: Evaluation metrics. c^y is the empirical coverage of class y , and regimes A and B are the per-class and prevalence-binned cases. Jy is the set of test indices with label y and N the number of test points. Bins and strata are pooled groups, used where a per-class estimate is too noisy to report: prevalence bins require 200 test rows each and set-size strata 30 . The empty-set rate is included because an average set size below one is only possible when a substantial share of test points receive nothing, a regime in which coverage and set size both merely look low.
Configuration
Shrunk
Unshrunk
λoracle
C_comp_competitors_s1
+0.0487
−0.6571
0.10
H_heldout_ho0p5_s2
+0.1928
−0.4605
0.70
C_comp_competitors_s2
+0.1569
−0.4902
0.70
H_heldout_ho0p7_s2
+0.0667
−0.5733
0.70
H_heldout_ho0p9_s2
+0.1579
−0.4605
0.70
Appendix
Table S3: The five configurations where the two ceiling definitions differ most. A quantity that can sit 0.65 below the marginal threshold it is meant to bound is not a ceiling; the shrunk version cannot be exceeded by PCC by construction, since PCC optimises the same λ over a worse δ .
Axis
Setting
Δ worst-class
% ceiling
Score
LAC [ 38 ]
+0.058[+0.006,+0.110]
42
PAS [ 12 ]
+0.066[−0.017,+0.149]
28
SAPS [ 25 ]
+0.031[−0.019,+0.081]
24
APS [ 36 ]
+0.022[+0.004,+0.040]
15
RAPS [ 1 ]
+0.010[−0.009,+0.029]
10
α
0.10
+0.058[+0.006,+0.110]
42
Appendix
Table S4: Score function, miscoverage level and calibration depth on held-out ImageNet classes, five splits, ten for calibration depth. The ceiling is flat across the depth block, 0.128 to 0.132 , so the rise there comes from the method and not from a wider ceiling.
Thresholds as emitted
Marginal cov.
Set size
Marginal threshold q^
0.9013
1.21
Pcc , no recalibration
0.8963
2.00
Pcc , with recalibration
0.8989
2.31
Target
0.9000
—
Appendix
Table S5: The unmatched view, ten ImageNet splits, α=0.10 . Recalibration moves marginal coverage towards the target and costs set size. The matched comparison used everywhere else cancels this shift by construction.
Backbone
φ
Δ worst-class
ConvNeXt-T [ 30 ]
own
+0.000[−0.000,+0.000]
fixed
+0.011[−0.017,+0.040]
ResNet-50 [ 21 ]
own
+0.017[−0.005,+0.040]
fixed
+0.006[−0.005,+0.017]
ViT-B/16 [ 13 ]
own
−0.029[−0.072,+0.015]
fixed
−0.011[−0.066,+0.043]
Appendix
Table S6: Both descriptor arms on three backbones, five splits. “own” uses each model’s own classifier head, “fixed” the ResNet-50 head also used for ImageNet. Top-1 accuracies of all three matched published values to four decimal places, which we used as a correctness check on the weight extraction.
Dataset
Thr.
Kept
Δ worst-class
Pl@ntNet
≥35
151
+0.020[−0.011,+0.052]
Pl@ntNet
≥75
98
+0.019[+0.010,+0.028]
iNat-2018
≥35
237
+0.000
iNat-2018
≥75
75
+0.000
Appendix
Table S7: Restricting evaluation to classes whose slice can support a per-class estimate. Five splits. Pl@ntNet recovers a significant improvement; iNaturalist does not, and there λ=0 means the method declines to act rather than acting and failing.
λ
0
0.1
0.3
0.5
1.0
worst
0.699
0.466
0.385
0.350
0.319
Appendix
Table S8: Shrinkage curve on the labelled classes of iNaturalist-2018, mean over five splits, at the ≥75 threshold. Every positive λ is worse than none, so the selection step returns λ=0 . A flat curve would have meant δ^ was degenerate; a decreasing one means it is informative and points the wrong way.
Corruption
Sev.
Δ
Cov.
Size
Empty
brightness
3
+0.0200
0.841
1.345
0.063
brightness
5
+0.0067
0.746
1.362
0.103
contrast
3
−0.0133
0.600
1.297
0.171
contrast
5
+0.0000
0.053
0.317
0.757
defocus_blur
3
+0.0067
0.500
1.146
0.268
defocus_blur
5
+0.0000
0.229
0.763
0.497
Appendix
Table S9: ImageNet-C, per corruption and severity, three splits. Δ worst is the change in worst-class coverage on held-out classes at matched set size. Pooled over all 90 conditions the improvement is +0.003[+0.001,+0.005] .
Figure S1 : The mechanism, on the primary ImageNet configuration. Every labelled class contributes an observed offset δy and a predicted one gθ(φ(y)) ; held-out classes appear as ticks on the horizontal axis, because the observed coordinate does not exist for them. The regression recovers the direction of the correction and understates its magnitude, and the classes that decide the minimum lie in the dense band near δy=0 , where the cost is prediction error rather than shrinkage towards the mean. That error is the quantity Prop. 1 bounds, though Appendix Z finds that bound is not what selects λ^ .
Figure S2 : Class-conditional coverage of every class, sorted, on the primary ImageNet configuration. Rank rather than percentile on the horizontal axis, because worst-class coverage is decided by the leftmost few classes and a linear axis compresses them to nothing. The correction rotates the curve: the tail rises and the classes that had coverage to spare give some back, with the crossing near rank 150 of 300 on the held-out classes. The oracle performs the same rotation further, which is the sense in which it is a ceiling rather than a different kind of method.
Quintile
Classes
Med. prev.
Mean Δc^y
1, frequent
60
1182
−0.0078
2
60
1174
−0.0033
3
60
1169
−0.0033
4
60
1163
−0.0039
5, rare
60
1147
−0.0024
Improved 11.3% , worsened 43.3%
Appendix
Table S10: Change in per-class coverage on the 300 held-out ImageNet classes, by prevalence quintile, at matched average set size. The correction concentrates its effect on the failing classes and pays for it with small reductions spread across the rest.
Score
Worst-class
Set size
Macro
Δ Pcc
Softmax (LAC)
0.534
1.256
0.900
−0.005
Average over augment.
0.485
1.228
0.898
+0.002
Learned aggregation
0.534
1.233
0.899
+0.001
Uncertainty-modulated
0.518
1.230
0.900
−0.003
Appendix
Table S11: Four score functions on the same backbone under the marginal threshold, held-out classes, α=0.10 , three splits. Changing the score leaves worst-class coverage within 0.049 and does not order the scores the way marginal coverage would. The last column reports what Pcc adds on top of each, in a configuration whose 25 evaluation examples per class put it below the depth at which the statistic can move ( Sec. 4.3 ).
Quantity
Rows
Classes
q^ (1)
calib.
labelled
δy (3)
calib.
labelled, ny≥ncal
gθ
calib.
labelled, ny≥ncal
λ (5)
calib.
labelled
ncal
calib.
labelled
c (9)
calib.
labelled
Appendix
Table S12: What each estimated quantity may see; the equation numbers are those of the main paper. Evaluation rows and held-out classes are used only for reporting. The default configuration lets gθ , λ and c share the same calibration rows, which is convenient but not what Prop. 2 assumes; Pcc -split divides those rows in two and is the variant the proposition covers.
Variant
Marg. cov.
Deficit
Δ worst
Reuse
0.8994
−0.0018
+0.0588
Split 25%
0.9011
−0.0000
+0.0636
Split 50%
0.9003
−0.0007
+0.0585
Target
0.9000
—
—
Appendix
Table S13: Pcc -split against reuse, ten paired splits on ImageNet at α=0.10 . “Deficit” is marginal coverage minus that of the marginal threshold measured on the same evaluation rows, so it isolates the optimism from reusing calibration rows rather than the finite-sample slack common to both. Δ worst-class is the matched-size statistic used throughout the paper.
Rows
Cal.
Eval.
Δ worst-class
Ceil.
250 k
177
76
+0.058[+0.006,+0.110]
0.140
500 k
354
152
+0.050[+0.011,+0.089]
0.105
750 k
532
228
+0.076[+0.034,+0.118]
0.116
Appendix
Table S14: The row budget swept over a factor of three, five splits each, everything else at the primary configuration. No point estimate falls outside the intervals of the other two. The 250 k row reproduces the corresponding entry of Fig. 2 b to four decimal places, which is the check that the sweep shares the configuration of the rest of the paper.
Descriptors
Δ worst-class
CV err.
Cosine, all
+0.058[+0.006,+0.110]
0.036
Euclidean
+0.045[+0.009,+0.081]
0.040
No head bias
+0.058[+0.006,+0.110]
0.036
k∈{1,2,5}
+0.058[+0.006,+0.110]
0.036
k∈{1,10,20,100}
+0.063[+0.016,+0.111]
0.036
Appendix
Table S15: Descriptor choices, five splits each on held-out ImageNet classes. “CV error” is the cross-validated mean squared error of gθ on the labelled classes. The neighbour count held out as the distance reference follows the smallest k requested, so each arm withholds its own feature and none is advantaged.
Data
Head
Δ worst-class
λˉ
λ^=0
Image Net
linear
+0.058[+0.006,+0.110]
0.10
0/5
quadratic
+0.058[−0.011,+0.128]
0.20
0/5
kernel
+0.026[+0.008,+0.045]
0.32
0/5
γ=0.3
+0.046[+0.004,+0.088]
0.23
0/3
γ=3
−0.022[−0.065,+0.021]
0.27
0/3
Pl@nt Net
linear
+0.019[+0.010,+0.028]
0.22
0/5
Appendix
Table S16: Replacing the ridge gθ with a nonlinear head, everything else at the configuration of the corresponding table. Five splits, except the two indented RBF-width rows, which are three and carry their own ceiling of 0.153 . Unindented kernel rows use γ=1 . Oracle ceilings are 0.140 on ImageNet, 0.086 on Pl@ntNet-300K under the 75 -example restriction of Tab. S7 , and 0.018 on iNaturalist-2018. The last column counts splits in which the shrinkage step declined the prediction entirely.
Data
r
σ=r2−1
ρ with abundance
ImageNet, control
1.04
0.28
−0.09
iNaturalist-2018
1.07
0.39
−0.36
Pl@ntNet-300K
1.61
1.26
−0.88
Appendix
Table S17: Head-row geometry against class abundance. r is the ratio of median ∥wy−wˉ∥ between the bottom and top deciles of calibration depth, and ρ is the Spearman correlation of ∥wy∥ with log abundance. ImageNet is the control: its deciles differ by a factor of 1.0 in abundance, so it has almost no variation to track, and it shows none.
σ
ratio
Δ worst-class
CVaR 5%
0.00
1.00
+0.058[+0.006,+0.110]
0.732
0.39
1.07
+0.049[+0.000,+0.098]
0.725
0.60
1.17
+0.043[−0.014,+0.099]
0.718
1.26
1.61
−0.014[−0.072,+0.043]
0.672
2.00
2.24
−0.069[−0.127,−0.012]
0.625
Appendix
Table S18: Held-out head rows perturbed outward by σ , five splits each, everything else at the primary configuration. σ=0.39 and σ=1.26 are the magnitudes Tab. S17 measures for iNaturalist-2018 and Pl@ntNet-300K. The oracle ceiling is 0.140 throughout, since the oracle reads the test labels and not φ . CVaR 5% is the mean coverage of the worst five per cent of classes and falls monotonically with the minimum, so the tail moves as a whole.
Phase
Content
Configs
Median
C
baseline comparison
3
481 s
D
ImageNet-C
90
21 s
E
additional backbones
30
21 s
F
evaluation-depth sweep
25
235 s
G
long-tailed datasets
20
63 s
H
held-out fraction sweep
25
131 s
Appendix
Table S19: Wall-clock cost per configuration, one CPU core, measured from the run reports. Phase D and E are fast because their evaluation slices are small; phase F is slow because each of its five depth caps is run at ten splits.
Quantity
Value
Shrinkage grid Λ
0,.05,.1,.2,.3,.5,.7,1
Ridge penalty
1.0 , fixed, never tuned
Descriptor scaling
standardised on fit classes
ncal
25 , pre-registered
Target size T
avg. size of q^
α
0.10 unless stated
Appendix
Table S20: Every hyperparameter and protocol constant. Values are the code’s defaults, which are what produced every number in the paper; the sweeps state their own departures. The ridge penalty is fixed rather than cross-validated, because the fit has at most K points and nine features and we would rather report a fixed choice than a tuned one.
Statistic
Marginal
Pcc
Oracle
Δ Pcc
Worst class
0.6579
0.6912
0.7922
+0.0333
5 th percentile
0.7646
0.7662
0.8421
+0.0016
10 th percentile
0.7992
0.8155
0.8571
+0.0163
CVaR 5%
0.7313
0.7381
0.8230
+0.0068
CVaR 10%
0.7565
0.7630
0.8387
+0.0066
Mean over classes
0.9039
0.8998
0.8812
−0.0041
Appendix
Table S21: Lower-tail statistics of per-class coverage on the held-out classes, seed 0 of the primary configuration under the reuse variant, all arms at matched average set size. CVaR q is the mean coverage of the worst q of classes. This is a single split and therefore carries no interval: it is a diagnostic, and Tab. 1 is the five-split statement.
λ
∥δˉ−δˉ⋆∥∞
Δσ
Leff
Lmed
worst-class
0.00
0.9421
+0.008
19.1
0.54
0.5825
0.05
0.9234
+0.011
10.3
0.49
0.6197
0.10
0.9006
+0.009
16.0
0.51
0.6405
0.20
0.8416
−0.014
16.8
0.47
0.6136
0.30
0.7776
−0.042
34.7
0.47
0.5700
0.50
0.6627
−0.099
16.2
0.43
0.4855
Appendix
Table S22: Both sides of Eq. 7 on the held-out label space, five splits at the primary configuration. Δσ is the differential size-matching shift. The λ=0 and λ=0.1 rows reproduce Tab. 1 : their difference is +0.0580 . The labelled label space, where λ^ is selected, behaves the same way: the distance is smallest at λ=0.7 and worst-class coverage peaks at 0.1 .
Mohamed bin Zayed University of Artificial Intelligence (MBZUAI), Abu Dhabi, United Arab Emirates · École pour l’informatique et les techniques avancées (EPITA), Paris, France