AutoML BinaryClassificationExperiment ignores ColumnInformation.ExampleWeightColumnName — trainers are fitted unweighted
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 70/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- csharp
- Bereich
- machine-learning
Rechercherichtung
Start at BinaryClassificationExperiment.Execute and trace how ColumnInformation.ExampleWeightColumnName is passed to the trainers and validation metrics; the issue names no source files or tests. Compare the AutoML result with the direct LbfgsLogisticRegression example using the supplied weighted fixture. Done when the experiment either applies weights to fitting and validation or clearly warns or refuses a weighted request.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
System information
- Microsoft.ML 5.0.0, Microsoft.ML.AutoML 0.23.0
- .NET 10 (net10.0), macOS arm64
Describe the bug
ColumnInformation.ExampleWeightColumnName is accepted by BinaryClassificationExperiment.Execute, but the weight column does not reach the trainers the experiment builds, nor its validation metrics. No warning is emitted, so the caller gets an unweighted model while believing it is weighted.
To reproduce
Fixture: 1,000 X values in [0,1] (plus a noise column Y), each row written twice — once Label=true, once Label=false — with weight W = 10 / 1 for true / false when X > 0.5, and 1 / 10 otherwise. Unweighted, the label is independent of X (P = 0.5 everywhere); weighted, P(true | X=0.9) ≈ 0.9.
-
AutoML (15 s budget):
ml.Auto().CreateBinaryClassificationExperiment(15).Execute(train, new ColumnInformation { LabelColumnName = "Label", ExampleWeightColumnName = "W", NumericColumnNames = { "X", "Y" }, });Best run
LbfgsLogisticRegressionBinary: P(true | X=0.9) = 0.49, P(true | X=0.1) = 0.49 — identical to the same experiment withWplaced inIgnoredColumnNames. The per-trainer best validation AUCs were also identical in both runs (FastTree 0.41, FastForest 0.40, SdcaLogisticRegression 0.50, LbfgsLogisticRegression 0.53). -
The same trainer fitted directly:
ml.Transforms.Concatenate("Features", "X", "Y") .Append(ml.BinaryClassification.Trainers.LbfgsLogisticRegression(exampleWeightColumnName: "W"));gives 0.96 / 0.04.
Expected behavior
Either the trainers AutoML constructs receive exampleWeightColumnName (the binary, multiclass and regression trainers it sweeps all accept it), with validation metrics weighted the same way — or Execute refuses / warns when ExampleWeightColumnName is set, so a weighted request cannot silently produce an unweighted fit.
Why it matters
Labels collected by importance sampling, or from sources of differing reliability, are trained with per-row weights. A silently unweighted fit learns the sampling bias, and nothing in the result tells the caller.
Related: #6708 (documentation of ExampleWeightColumnName).
- Vorherrschende Sprache
- C#
- Sterne
- 9.4k
- Forks
- 2k
- Ø Merge
- 2 T. 18 Std.
- Gemergte PRs (30 T.)
- 64
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus dotnet/machinelearning
-
area-Native untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
dotnet/machinelearning#7837 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area-TensorFlow untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
dotnet/machinelearning#7836 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ToArrowRecordBatches accumulates arrays from previous batches, producing invalid record batchesOffenarea-DataFrame bug untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
dotnet/machinelearning#7799 ·
Maintainer antworten meist innerhalb von 1 Tag
-
LlamaTokenizer encodes some runs of repeated characters differently from SentencePieceEvtl. vergeben @Laurianti hat das vor 42 Tagen übernommen. Offenarea-Tokenizers untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
dotnet/machinelearning#7751 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
BertTokenizer merges words separated only by `\n`, `\t` or `\r`Evtl. vergeben @Laurianti hat das vor 23 Tagen übernommen. Offenarea-Tokenizers green
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
dotnet/machinelearning#7724 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in dotnet/machinelearning
Ähnliche Issues
-
bug emitter:client:csharp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
microsoft/typespec#12572 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
needs-area-label
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
AWS Lambda: KeyNotFoundException drops HTTP-triggered transactions when allowAllHeaders is disabledOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
newrelic/newrelic-dotnet-agent#3949 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
area-networking
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
dotnet/aspnetcore#70545 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Maintainer antworten meist innerhalb von 1 Tag