RFC: Unified API
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Refactoring
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- julia
- Ambito
- machine-learning
Direzione di ricerca
Esamina i modelli CCA, WHT, ICA, LDA, FA, PPCA, PCA, KPCA e MDS esistenti insieme alle funzioni elencate, come fit, transform, projection, reconstruct e loadings. Confronta le loro interfacce attuali con la gerarchia proposta RegressionModel, AbstractDimensionalityReduction e AbstractDataTransform. Il lavoro è completo quando il design dell’API è concordato e le interfacce dei modelli interessati e i metodi mancanti sono definiti in modo coerente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Following #95, I looked at MV models/methods implemented in this package, trying to figure out what would be a type hierarchy and corresponding method interfaces for this package.
Here is a table of models and corresponding function names used by models.
| Function \ Model | CCA | WHT | ICA | LDA | FA | PPCA | PCA | KPCA | MDS |
|---|---|---|---|---|---|---|---|---|---|
| fit | x | x | x | x | x | x | x | x | x |
| transform | x | x | x | x | x | x | x | x | x |
| predict | x | ||||||||
| indim | x | x | x | x | x | x | x | x | |
| outdim | x | x | x | x | x | x | x | x | x |
| mean | x | x | x | x | x | x | x | ? | |
| var | x | x | ? | ? | ? | ||||
| cov | x | ? | |||||||
| cor | x | ||||||||
| projection | x | x | x | x | x | x | |||
| reconstruct | x | x | x | x | |||||
| loadings | ? | ? | x | x | ? | ? | ? | ||
| eigvals | ? | ? | ? | ? | x | ||||
| eigvecs | ? | ? | ? | ? | ? | ||||
| length | |||||||||
| size |
I put ? where a possible implementation is missing or called differently.
So, I propose following type hierarchy
- StatsBase.RegressionModel
- Methods: CCA, LDA
- Functions: fit, transfrom, indim, outdim, mean
- Subtypes:
- AbstractDimensionalityReduction
- Functions: projection, var, reconstruct, loadings
- Subtypes:
- LinearDimensionalityReduction
- Methods: ICA, PCA
- NonlinearDimensionalityReduction
- Methods: KPCA, MDS
- LatentVariableModel or LatentVariableDimensionalityReduction
- Methods: FA, PPCA
- Functions: cov
- LinearDimensionalityReduction
- StatsBase.AbstractDataTransform
- Whitening
- Functions: fit, transfrom, indim, outdim, mean, size
@nalimilan @ararslan Thoughts?
- 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