Skip to content

0.8

Compare
Choose a tag to compare
@leliel12 leliel12 released this 26 Oct 03:56
· 123 commits to master since this release
77fa2d9

Version 0.8

  • 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

  • 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