AutoML MulticlassClassificationExperiment minimizes LogLossReduction — MultiClassMetricManager.IsMaximize returns false for it
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 90/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- csharp, machine-learning
- Ambito
- machine-learning
Direzione di ricerca
Apri src/Microsoft.ML.AutoML/AutoMLExperiment/IMetricManager.cs e leggi MultiClassMetricManager.IsMaximize. Verifica come LogLossReduction viene convertito nella loss del trial e come viene selezionata la migliore esecuzione; la riproduzione nell’issue mostra i punteggi ottenuti dal modello. Il lavoro è completato quando LogLossReduction viene trattato come una metrica da massimizzare e l’esperimento seleziona un’esecuzione con una riduzione della log-loss maggiore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- C#
- Stelle
- 9.4k
- Fork
- 2k
- Merge medio
- 2g 14h
- PR unite (30g)
- 50
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnet/machinelearning
-
area-Native untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
dotnet/machinelearning#7837 ·
I maintainer di solito rispondono entro 2 giorni
-
area-TensorFlow untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
dotnet/machinelearning#7836 ·
I maintainer di solito rispondono entro 2 giorni
-
ToArrowRecordBatches accumulates arrays from previous batches, producing invalid record batchesApertaarea-DataFrame bug untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
dotnet/machinelearning#7799 ·
I maintainer di solito rispondono entro 2 giorni
-
LlamaTokenizer encodes some runs of repeated characters differently from SentencePieceForse già presa @Laurianti l’ha presa 22 giorni fa. Apertauntriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
dotnet/machinelearning#7751 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
BertTokenizer merges words separated only by `\n`, `\t` or `\r`Forse già presa @rosebyte l’ha presa 30 giorni fa. Apertaarea-Tokenizers green
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
dotnet/machinelearning#7724 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di dotnet/machinelearning
Issue simili
-
alerts bug effort:S P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
nightscout/nocturne#2511 ·
I maintainer di solito rispondono entro 1 giorno
-
feature-request
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
stripe/stripe-dotnet#3484 ·
I maintainer di solito rispondono entro 2 giorni
-
bug mcp misleading small
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
accessibility help wanted macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
dorlugasigal/annotator#42 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
AvaloniaUI/Avalonia#22568 ·
I maintainer di solito rispondono entro 2 giorni