Mutating labels when training MulticlassLDA
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- julia
- Área
- machine-learning
Línea de trabajo
Comienza en src/lda.jl alrededor de la línea 522 e inspecciona cómo toindices maneja las etiquetas enteras durante el entrenamiento y la decodificación de MulticlassLDA. Reproduce el caso de entrenamiento y prueba separados, incluidas las etiquetas con huecos, y verifica que convertir las etiquetas no mute las etiquetas del llamador ni aleatorice las asignaciones de clases.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- Julia
- Estrellas
- 387
- Forks
- 83
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaStats/MultivariateStats.jl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
tagbot-manual
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
JuliaStats/MultivariateStats.jl#238 · 1 comentario ·
-
Return a result even when MetricMDS does not convergePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
JuliaStats/MultivariateStats.jl#233 · 1 comentario ·
-
MDS: supply Gram matrix directlyAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de JuliaStats/MultivariateStats.jl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
oscar-system/GAP.jl#1455 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
Los mantenedores suelen responder en 4 días