The Wayback Machine - https://web.archive.org/web/20220530205042/https://github.com/scikit-learn/scikit-learn/pull/23210
Skip to content
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

ENH propagate eigen_tol to all eigen solver #23210

Open
wants to merge 41 commits into
base: main
Choose a base branch
from

Conversation

Micky774
Copy link
Contributor

@Micky774 Micky774 commented Apr 24, 2022

Reference Issues/PRs

closes #21243
Resolves #11968 (stalled)

What does this implement/fix? Explain your changes.

PR #11968: Propagate the eigen_tol for the 'arpack', 'amg', and 'lobpcg' solvers.

This PR:

  • Adds tests

Any other comments?

Follow up PRs to:

  • Add "auto" option for eigen_tol
  • Begins deprecation where appropriate to update default eigen_tol=0 to eigen_tol="auto"

sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/manifold/_spectral_embedding.py Outdated Show resolved Hide resolved
sklearn/cluster/tests/test_spectral.py Outdated Show resolved Hide resolved
Copy link
Member

@jeremiedbb jeremiedbb left a comment

I wonder if we really a deprecation cycle. Currently eigen_tol is only used with the arpack solver. "auto" will not change the default value in that case, i.e. 0. So directly changing to "auto" is not really backward incompatible, just if a user relies on default values from the signature of the estimator which we chose to ignore several times in the past.

@thomasjpfan
Copy link
Member

@thomasjpfan thomasjpfan commented May 6, 2022

Currently eigen_tol is only used with the arpack solver. "auto" will not change the default value in that case, i.e. 0.

I agree we can switch to "auto" right away in this PR without deprecation.

sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/manifold/tests/test_spectral_embedding.py Outdated Show resolved Hide resolved
sklearn/manifold/_spectral_embedding.py Show resolved Hide resolved
sklearn/cluster/_spectral.py Outdated Show resolved Hide resolved
sklearn/manifold/_spectral_embedding.py Outdated Show resolved Hide resolved
sklearn/manifold/_spectral_embedding.py Outdated Show resolved Hide resolved
sklearn/manifold/_spectral_embedding.py Outdated Show resolved Hide resolved
doc/whats_new/v1.2.rst Outdated Show resolved Hide resolved
Copy link
Member

@thomasjpfan thomasjpfan left a comment

I left some minor comments. After the merge conflict is address, LGTM.

sklearn/manifold/tests/test_spectral_embedding.py Outdated Show resolved Hide resolved
sklearn/manifold/tests/test_spectral_embedding.py Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants