dotnet / dotnet/machinelearning-samples

MapValueToKey in ranking sample

Aperta
#815 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
PowerShell
Stelle
4.7k
Fork
2.7k
Merge medio
2g 22h
PR unite (30g)
1

Descrizione

In the ranking sample, we're using a `MapValueToKey` transform to convert the `Label` `UINT` values `{ 0, 1, 2, 3, 4 }` to a `Key`. This seems incorrect as the `MapValueToKey` will order the `Key` by the order it sees them. This will cause the ranker to randomly switch label values, a "good" could used internally as "bad".

`MapValueToKey` transform in the ranking example:
https://github.com/dotnet/machinelearning-samples/blob/8697bec3e9c78beb2c3c4d3f915551c85bcdcb39/samples/csharp/getting-started/Ranking_Web/WebRanking/Program.cs#L150

Work:
1. We should validate that the current sample is working as expected. It may be permuting the labels.
2. Ideally we would expose the ability to directly set the term list for `MapValueToKey`; I don't see this [term list parameter](https://github.com/dotnet/machinelearning/blob/59dbdeac6f01941e0b1b1dc1f026f599a7b676c9/src/Microsoft.ML.Data/Transforms/ValueToKeyMappingTransformer.cs#L51-L52) exposed in the estimators API.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in samples/csharp/getting-started/Ranking_Web/WebRanking/Program.cs intorno alla trasformazione MapValueToKey, quindi esamina ValueToKeyMappingTransformer.cs in corrispondenza dell’API term-list collegata. Verifica se l’esempio di ranking mantiene l’ordinamento previsto delle label e determina quale supporto a livello di estimator è necessario per impostare direttamente la term list.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
machine-learning
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
28/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.