Version 0.8.7
-
New Added functionality for user extension of scikit-criteria with
decorators for creating aggregation and transformation models using
functions.>>> from skcriteria.extend import mkagg, mktransformer >>> >>> @mkagg >>> def MyAgg(**kwargs): >>> # Implementation of the aggregation function >>> >>> @mkagg(foo=1) >>> def MyAggWithHyperparam(**kwargs): >>> # Implementation of the aggregation function with >>> # hyperparameter 'foo' >>> >>> @mktransformer >>> def MyTransformer(**kwargs): >>> # Implementation of the transformation function >>> >>> @mktransformer(bar=2) >>> def MyTransformerWithHyperparam(**kwargs): >>> # Implementation of the transformation function with >>> # hyperparameter 'bar'
These decorators enable the creation of aggregation and transformation
classes based on provided functions, allowing users to
define decision-making models with less flexibility than traditional
inheritance-based models.For more information check the tutorial Extending Aggregation and Transformation Functions
-
New Module: Introduced the
skcriteria.testing
module, exposing utility functions for for comparing objects created in Scikit-Criteria in a testing environment. These functions facilitate the comparison of instances of theDecisionMatrix
,ResultABC
, andRanksComparator
classes.The assertion functions utilize pandas and numpy testing utilities for comparing matrices, series, and other attributes.
Check the Reference for more information.
-
New The API of the agg, pipeline, preprocessing, and extend modules has
been cleaned up to prevent autocompletion with imports from other modules.
The imported modules are still present, but they are excluded when attempting
to autocomplete. This functionality is achieved thanks to the context manager
skcriteria.utils.cmanagers.hidden()
. -
New All methods (agg and transformers) has a new
get_method_name
instance method. -
Drop Drop support for Python 3.8