Mutating labels when training MulticlassLDA
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- julia
- Ambito
- machine-learning
Direzione di ricerca
Inizia da src/lda.jl intorno alla riga 522 e analizza come toindices gestisce le label intere durante il training e il decoding di MulticlassLDA. Riproduci il caso con training e test separati, incluse le label con lacune, e verifica che la conversione delle label non modifichi le label del chiamante né randomizzi le assegnazioni delle classi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This recent change really threw a wrench into my pipeline:
https://github.com/JuliaStats/MultivariateStats.jl/blob/bf15ed047bb44dc3f2ebc5db73a9b43df3a55059/src/lda.jl#L522
I am training LDAs on one set of trials and testing the decoding performance on a separate set of trials. All of a sudden, my performance dropped to chance and after about a day of digging around, I realised that toindices actually mutates the label names. In other words, when I was decoding the testset by finding the projected mean that each sample was closest to, I was using the original labels for my testing, and so the class assignments were all essentially random.
As a stopgap measure for my pipeline, I defined
MultivariateStats.toindices(label::AbstractVector{T}) where T <: Integer = label
which fixed my issue, but I realise that this is not general solution. In particular, if there are gaps in label, such that maximum(label) !== length(unique(label)), this could also cause problems.
Is there currently an array type that fulfils that criteria?
- Lingua principale
- Julia
- Stelle
- 387
- Fork
- 83
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 JuliaStats/MultivariateStats.jl
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
tagbot-manual
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
JuliaStats/MultivariateStats.jl#238 · 1 commento ·
-
Return a result even when MetricMDS does not convergeForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
JuliaStats/MultivariateStats.jl#233 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
Tutte le issue di JuliaStats/MultivariateStats.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
oscar-system/GAP.jl#1455 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
I maintainer di solito rispondono entro 4 giorni