This PR makes the get_fitted_params core functionality and defaults safer against exceptions on getattr.
In rare cases, getattr can cause an exception, namely if a property is being accessed in a way that generates an exception.
Examples are some fitted parameter arguments in sklearn that are decorated as property in newer versions, e.g., RandomForestRegressor.estimator_ in unfitted state.
In most use cases, there will be no change in behaviour; in the described case where an exception would be raised, this is now caught and suppressed, and the corresponding parameter is considered as not present.
Changes occur only in cases that would have previously raised genuine exceptions, so no working code is affected, and no deprecation is necessary despite this being a change to a core interface element.
This PR makes the
get_fitted_params
core functionality and defaults safer against exceptions ongetattr
.In rare cases,
getattr
can cause an exception, namely if a property is being accessed in a way that generates an exception.Examples are some fitted parameter arguments in
sklearn
that are decorated as property in newer versions, e.g.,RandomForestRegressor.estimator_
in unfitted state.In most use cases, there will be no change in behaviour; in the described case where an exception would be raised, this is now caught and suppressed, and the corresponding parameter is considered as not present.
Changes occur only in cases that would have previously raised genuine exceptions, so no working code is affected, and no deprecation is necessary despite this being a change to a core interface element.