python - See retained variance in scikit-learn manifold learning methods -


i have dataset of images run nonlinear dimensionality reduction on. decide number of output dimensions use, need able find retained variance (or explained variance, believe similar). scikit-learn seems have far best selection of manifold learning algorithms, can't see way of getting retained variance statistic. there part of scikit-learn api i'm missing, or simple way calculate retained variance?

i don't think there clean way derive "explained variance" of non-linear dimensionality techniques, in same way done pca. pca, trivial: taking weight of principal component in eigendecomposition (i.e. eigenvalue) , summing weights of ones use linear dimensionality reduction. of course, if keep eigenvectors, have "explained" 100% of variance (i.e. reconstructed covariance matrix).

now, 1 try define notion of explained variance in similar fashion other techniques, might not have same meaning. instance, dimensionality reduction methods might actively try push apart more dissimilar points , end more variance started with. or less if chooses cluster points tightly together.

however, in many non-linear dimensionality reduction techniques, there other measures give notions of "goodness-of-fit". instance, in scikit-learn, isomap has reconstruction error, tsne can return kl-divergence, , mds can return reconstruction stress.


Comments