- **New** The `skcriteria.cmp` package utilities to compare rankings.
- **New** The new package `skcriteria.datasets` include two datasets (one a
toy and one real) to quickly start your experiments.
- **New** DecisionMatrix now can be sliced with a syntax similar of the
pandas.DataFrame.
- `dm["c0"]` cut the $c0$ criteria.
- `dm[["c0", "c2"]` cut the criteria $c0$ and $c2$.
- `dm.loc["a0"]` cut the alternative $a0$.
- `dm.loc[["a0", "a1"]]` cut the alternatives $a0$ and $a1$.
- `dm.iloc[0:3]` cuts from the first to the third alternative.
- **New** imputation methods for replacing missing data with substituted
values. These methods are in the module `skcriteria.preprocessing.impute`.
- **New** results object now has a `to_series` method.
- **Changed Behaviour**: The ranks and kernels `equals` are now called
`values_equals`. The new `aequals` support tolerances to compare
numpy arrays internally stored in `extra_`, and the `equals` method is
equivalent to `aequals(rtol=0, atol=0)`.
- We detected a bad behavior in ELECTRE2, so we decided to launch a `FutureWarning` when the
class is instantiated. In the version after 0.8, a new implementation of ELECTRE2 will be
provided.
- Multiple `__repr__` was improved to folow the
[Python recomendation](https://docs.python.org/3/library/functions.html#repr)
- `Critic` weighter was renamed to `CRITIC` (all capitals) to be consistent
with the literature. The old class is still there but is deprecated.
- All the functions and classes of `skcriteria.preprocessing.distance` was
moved to `skcriteria.preprocessing.scalers`.
- The `StdWeighter` now uses the **sample** standar-deviation.
From the numerical point of view, this does not generate any change,
since the deviations are scaled by the sum. Computationally speaking there
may be some difference from the ~5th decimal digit onwards.
- Two method of the `Objective` enum was deprecated and replaced:
- `Objective.construct_from_alias()` `->` `Objective.from_alias()` (classmethod)
- `Objective.to_string()` `->` `Objective.to_symbol()'`
The deprecated methods will be removed in version *1.0*.
- Add a dominance plot `DecisionMatrix.plot.dominance()`.
- `WeightedSumModel` raises a `ValueError` when some value $< 0$.
- Moved internal modules
- `skcriteria.core.methods.SKCTransformerABC` `->`
`skcriteria.preprocessing.SKCTransformerABC`
- `skcriteria.core.methods.SKCMatrixAndWeightTransformerABC` `->`
`skcriteria.preprocessing.SKCMatrixAndWeightTransformerABC`