Added
- An example on how to use the `dataclass` decorator with tpcp classes. (https://github.com/mad-lab-fau/tpcp/pull/41)
- In case you need complex aggregations of scores across data points, you can now wrap the return values of score
functions in custom `Aggregators`.
The best plac eto learn about this feature is the new "Custom Scorer" example.
(https://github.com/mad-lab-fau/tpcp/pull/42)
- All cross_validation based methods now have a new parameter called `mock_labels`.
This can be used to provide a "y" value to the split method of a sklearn-cv splitter.
This is required e.g. for Stratified KFold splitters.
(https://github.com/mad-lab-fau/tpcp/pull/43)
Changed
- Most of the class proccesing and sanity checks now happens in the init (or rather a post init hook) instead of during
class initialisation.
This increases the chance for some edge cases, but allows to post-process classes, before tpcp checks are run.
Most importantly, it allows the use of the `dataclass` decorator in combination with tpcp classes.
For the "enduser", this change will have minimal impact.
Only, if you relied on accessing special tpcp class parameters before the class (e.g. `__field_annotations__`) was
initialised, you will get an error now.
Other than that, you will only notice a very slight overhead on class initialisation, as we know need to run some
basic checks when you call the init or `get_params`.
(https://github.com/mad-lab-fau/tpcp/pull/41)
- The API of the Scorer class was modified.
In case you used custom Scorer before, they will likely not work anymore.
Further, we removed the `error_score` parameter from the Scorer and all related methods, that forwarded this parameter
(e.g. `GridSearch`).
Error that occur in the score function will now always be raised!
If you need special handling of error cases, handle them in your error function yourself (i.e. using try-except).
This gives more granular control and makes the implementation of the expected score function returns much easier on
the `tpcp` side.
(https://github.com/mad-lab-fau/tpcp/pull/42)