-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
new feature: add LOBPCG as an SVD solver in PCA #12079
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@jnothman @amueller @aishgrt1 Please see PR #12319 Comments and help are welcome and needed! scipy/scipy#9352 will address the issue that I am unsure if the transpose='auto' option in lobpcg_svd, which is copy/pasted from randomised_svd , actually makes the eigenvalue problem smaller, not larger, but it a common issue with randomised_svd, so it needs to be addressed separately from this lobpcg_svd add-on. |
I know there are several PRs awaiting review around PCA. I'm very busy at
the moment and am trying to focus on staying on top of the email, releasing
0.20.1, and longstanding issues. Please be patient, but do ping again in a
few weeks if need be.
|
scipy/scipy#10830 has implemented LOBPCG solver in svds in scipy while this PR being stalled. Which allows using lobpcg svd_solver to PCA and TruncatedSVD simply by calling https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.svds.html with solver=‘lobpcg’ |
Can this be reopened? Should be a simple case of updating the validators and passing this on: scikit-learn/sklearn/decomposition/_pca.py Line 750 in e91011b
|
Description
The code https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/pca.py currently supports only
while LOBPCG https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.lobpcg.html is already used in http://scikit-learn.org/stable/modules/generated/sklearn.manifold.SpectralEmbedding.html and http://scikit-learn.org/stable/modules/generated/sklearn.cluster.spectral_clustering.html
Steps/Code to Reproduce
N/A
Expected Results
LOBPCG is expected to outperform all currently available SVD solvers for PCA for large problems, e.g., see comments at https://www.mathworks.com/matlabcentral/fileexchange/48-lobpcg-m
Actual Results
Not supported
Versions
All
The text was updated successfully, but these errors were encountered: