You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
AutoML MulticlassClassificationExperiment minimizes LogLossReduction — MultiClassMetricManager.IsMaximize returns false for it #7839
MulticlassClassificationMetric.LogLoss=> false,
MulticlassClassificationMetric.LogLossReduction=> false,// should be true
Log-loss reduction is 1 - LogLoss / LogLoss(prior) — higher is better (1 = perfect, 0 = no better than the class prior, negative = worse). With IsMaximize == false the trial loss is the metric itself and the experiment's best run is the minimum, so an experiment optimizing it returns the model that learned least.
150 rows, 3 classes, one feature that separates them almost perfectly (a = class + U(0,1)), MulticlassExperimentSettings.OptimizingMetric = LogLossReduction, 10 s budget:
trials: FastTreeOva 0.0016 → 0.4176, FastForestOva 0.9606, LbfgsMaximumEntropy 0.6961, … then the tuner settles on SdcaMaximumEntropy at −0.599 for the rest of the budget
returned best: macro accuracy 0.333, log loss 1.0986 (= ln 3), log-loss reduction 0.0
same data with OptimizingMetric = LogLoss: macro accuracy 1.0, log-loss reduction 1.0
Expected
LogLossReduction => true.
Related observation (not a defect claim)
TopKAccuracy as an optimizing metric: the experiment evaluates with the default topKPredictionCount = 0, for which MulticlassClassificationMetrics.TopKAccuracy is 0 for every model (measured: micro accuracy 1, top-k accuracy 0). MulticlassExperimentSettings has no setting to pass K, so optimizing it compares constants.
I'd like to work on this. I'll correct the optimization direction for LogLossReduction and add deterministic regression coverage for metric direction and best-trial selection, without changing the public API or the separate TopKAccuracy behavior.
Activity
zjdangge commentedon Oct 23, 2026
I'd like to work on this. I'll correct the optimization direction for LogLossReduction and add deterministic regression coverage for metric direction and best-trial selection, without changing the public API or the separate TopKAccuracy behavior.