sktime / skbase

Base classes for creating scikit-learn-like parametric objects, and tools for working with them.
BSD 3-Clause "New" or "Revised" License
17 stars 11 forks source link

[ENH] safer `get_fitted_params` default functionality to avoid exception on `getattr` #353

Closed fkiraly closed 1 month ago

fkiraly commented 1 month ago

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.