Open wildart opened 5 years ago
That makes sense to me. Might be nice to have an abstract dimensionality reduction type in there that linear, nonlinear, and latent variable types can subtype.
Might be nice to have an abstract dimensionality reduction type in there that linear, nonlinear, and latent variable types can subtype.
That would be AbstractDimensionalityReduction
Whoops, don't know how I missed that...
This seems great to me.
As my primary interest in this is for plotting, one thing I'd like to know is whether there's a common method for obtaining a vector that would be used in a plot. I'm not super knowledgeable about the terminology, but I think different things are commonly plotted for different dimensionality reductions. For MDS and PCA (I think), one is supposed to plot the eigenvectors scaled by the square of the eigenvalue.
But finding information on this has been a bit challenging for me, not knowing all of the jargon.
Loadings are scaled eigenvectors. It will be easy to add them to every eigendecomposition-based method.
Sounds like a good idea. Is the LinearDimensionalityReduction
vs. NonlinearDimensionalityReduction
useful? I guess it doesn't hurt, but in your plan it doesn't really make a difference AFAICT.
Also, shouldn't PCA implement loadings
?
Fantastic. What about things like LDA and CCA? I've definitely seen those plotted, but your schema above doesn't have loadings
for those, cf.
I know this is somewhat orthogonal, I can open a separate issue if that would be useful. In any case, having unified APIs for this stuff will be fantastic.
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.
I put
?
where a possible implementation is missing or called differently.So, I propose following type hierarchy
@nalimilan @ararslan Thoughts?