-
Notifications
You must be signed in to change notification settings - Fork 569
Add scikit-learn as a dependency #6438
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
base: branch-25.06
Are you sure you want to change the base?
Conversation
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
/ok to test |
/ok to test |
/ok to test |
@bdice or @jameslamb for the conda based jobs the setup using However in the wheels jobs we always get 1.6.1. Even in the |
Needs #6444 to be resolved |
In addition to keeping this PR in draft status, I've applied the "DO NOT MERGE" label since this PR should not be merged into the current default branch (25.04). |
Thanks for cuml/python/cuml/cuml/internals/import_utils.py Lines 163 to 169 in 9c17b09
To be more confident that this change and the proposed floor is working the way you expect it to. But up to you all if you think that makes the PR too large.
The For cuml/conda/recipes/cuml/meta.yaml Line 75 in 9c17b09
If @jcrist 's PR (#6431) is merged before this one, then you should also remove For cuml/conda/recipes/cuml-cpu/meta.yaml Line 37 in 9c17b09
In Lines 12 to 14 in 9c17b09
Here's an example from cuDF: https://github.com/rapidsai/cudf/blob/5638caacc01d8bc00803e3309310482ff58f73c8/ci/test_wheel_cudf.sh#L15-L24 |
/ok to test |
Based on #6444 (comment) we now instantiate the classes and pass them to the constructor in |
/ok to test |
…6471) The `estimator` attribute is used in the scikit-learn tags machinery to figure out what tags the meta estimator has. We pass a default constructed instance as it isn't actually used. This was found as part of #6438 but can be fixed standalone. The problem isn't with the new scikit-learn version, but we discovered it with it. cc @viclafargue Authors: - Tim Head (https://github.com/betatim) Approvers: - Jim Crist-Harif (https://github.com/jcrist) - Victor Lafargue (https://github.com/viclafargue) URL: #6471
This also makes it so that we test scikit-learn 1.5.x as "oldest" dependency.
This means that the version of scikit-learn that is installed via the wheel install is constrained to the oldest version cuml supports.
We can't pass a class, we need to pass an instance so that the tags infrastructure works.
6635720
to
cd22e27
Compare
/ok to test |
/ok to test |
/ok to test |
1 similar comment
/ok to test |
With the minimum version of dask that we require numpy 1.23 can't be installed because it is too old for dask
/ok to test |
Ridge.solver_ was only added in scikit-learn v1.5, so we need to conditionally set it in the accelerator.
/ok to test |
Different versions of scikit-learn have different default values for the constructor. Try and handle those cases gracefully
This PR both adds scikit-learn as a dependency of
cuml
and sets up the CI so that we test with scikit-learn 1.5.x as the "oldest" dependency.For now we use
scikit-learn>=1.5
as the dependency for cuml itself. We might change the version based on #6437.