Skip to content

v0.8.0

Compare
Choose a tag to compare
@AKuederle AKuederle released this 09 Aug 08:02
· 458 commits to main since this release

[0.8.0] - 2022-08-09

Added

  • An example on how to use the dataclass decorator with tpcp classes. (#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.
    (#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.
    (#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.
    (#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.
    (#42)