Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

AutoML MulticlassClassificationExperiment minimizes LogLossReduction — MultiClassMetricManager.IsMaximize returns false for it

Abierto Apto para principiantes
#7,839 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
90/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp, machine-learning

Línea de trabajo

Abre src/Microsoft.ML.AutoML/AutoMLExperiment/IMetricManager.cs y lee MultiClassMetricManager.IsMaximize. Confirma cómo se convierte LogLossReduction en la pérdida del trial y cómo se selecciona la mejor ejecución; la reproducción del issue muestra las puntuaciones resultantes del modelo. El trabajo estará terminado cuando LogLossReduction se trate como una métrica que se debe maximizar y el experimento seleccione una ejecución con una reducción de log-loss mayor.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area-AutoML untriaged

Defect

src/Microsoft.ML.AutoML/AutoMLExperiment/IMetricManager.cs, MultiClassMetricManager.IsMaximize:

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.

Reproduction (Microsoft.ML 5.0.1 / Microsoft.ML.AutoML 0.23.1, osx-arm64)

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.

Lenguaje dominante
C#
Estrellas
9.4k
Forks
2k
Merge medio
2 d 14 h
PR fusionados (30 d)
50

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/machinelearning

Todos los issues de dotnet/machinelearning

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.