New preprocessin strategy: A new way to transform from minimization to maximization criteria:
NegateMinimize()which reverses the sign of the values of the criteria to be minimized (useful for not breaking distance relations in methods like TOPSIS). Additionally the previous we rename the
RankingResult, support repeated/tied rankings and some were implemented to deal with these cases.
RankingResult.has_ties_to see if there are tied values.
RankingResult.ties_to see how often values are repeated.
RankingResult.untided_rank_to get a ranking with no repeated values.
KernelResultnow implements several new properties:
kernel_alternatives_to know which alternatives are in the kernel.
kernel_size_to know the number of alternatives in the kernel.
kernel_where_was replaced by
kernel_where_to standardize the api.
Support for Python 3.10.
All the objects of the project are now immutable by design, and can only be mutated troughs the
Dominance analysis tools (
DecisionMatrix.describe()was deprecated and will be removed in version 1.0.
New statistics functionalities
The accessors are now cached in the
Tutorial for dominance and satisfaction analysis.
TOPSIS now support hyper-parameters to select different metrics.
Generalize the idea of accessors in scikit-criteria througth a common framework (
New deprecation mechanism through the
In this version scikit-criteria was rewritten from scratch. Among other things:
The model implementation API was simplified.
Dataobject was removed in favor of
DecisionMatrixwhich implements many more useful features for MCDA.
Plots were completely re-implemented using Seaborn.
Coverage was increased to 100%.
Pipelines concept was added (Thanks to Scikit-learn).
New documentation. The quick start is totally rewritten!
Full Changelog: https://github.com/quatrope/scikit-criteria/commits/0.5
First OO stable version.