The handling of deprecated constructor parameters is leveraging the execution Python warnings machinery which is not thread-safe and could therefore caused hard to diagnose bugs in
There was a tentative lock-based workaround in #2729. A better solution however would avoid executing the warning machinery at all in get_params by leveraging declarative deprecation introspection possibly using a class decorator.
I will try to issue a PR for this next week.
What's the status on this?
It is still not addressed although as solution based on a class decorator to manage deprecated constructor params declaratively should be possible.
So sorry for the spam, but I just want to +1 this issue. My app calls sklearn (specifically, sklearn.ensemble.RandomForestRegressor.fit()) from multiple threads, and one of my users is running into this snag. It's a shame the Python warnings module isn't thread-safe.