-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Consider using integer random_state in IterativeImputer #15611
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
+1 there is a related discussion in #14042 about dropping non integer Would you like to make a PR for IterativeImputer ? |
Created a PR for setting |
Fix was merged, closing the issue. |
Lots of algorithms that rely on randomization offer an argument
random_state
through which it's possible to pass them RNG seeds that would ensure reproducible results. TheIterativeImputer
class will take some regressor/classifier and set their attributerandom_state
to a NumPy MT19937 object class if the object has such attribute, in such a way that this object is modified implicitly once the regressor/classifier to which it was assigned produces some random number.This is fine for SciKit-Learn’s own classes, but other libraries which provide different regressors/classifiers which are SciKit-Learn-compatible (at least according to tests) might not be able to use such
RandomState
objects (e.g. if they generate random numbers in C++ with some method other than MT19937).For example, XGBoost and LightGBM SciKit-Learn-compatible classes will only accept integers as parameters for their
random_state
, and there’s potentially many others too which will only accept integers.Would be nice if IterativeImputer would instead generate a random integer seed to pass to the regressor/classifier at each iteration, so that it could be used with more external libraries.
The text was updated successfully, but these errors were encountered: