skcriteria.agg.probid module

Implementation of PROBID and SimplifiedPROBID.

PROBID (Preference Ranking On the Basis of Ideal-Average Distance) and SimplifiedPROBID (simple variation of PROBID).

class skcriteria.agg.probid.BasePROBID(*, metric='euclidean')[source]

Bases: SKCDecisionMakerABC

Base abstract class for PROBID variants.

Parameters:

metric (str or callable, optional) – The distance metric to use. If a string, the distance function can be braycurtis, canberra, chebyshev, cityblock, correlation, cosine, dice, euclidean, hamming, jaccard, jensenshannon, kulsinski, mahalanobis, matching, minkowski, rogerstanimoto, russellrao, seuclidean, sokalmichener, sokalsneath, sqeuclidean, wminkowski, yule.

Warning

UserWarning:

If some objective is to minimize.

References

[Wang et al., 2021]

property metric

Which distance metric will be used.

skcriteria.agg.probid.probid(matrix, objectives, weights, metric='euclidean', **kwargs)[source]

Execute PROBID without any validation.

class skcriteria.agg.probid.PROBID(*, metric='euclidean')[source]

Bases: BasePROBID

Executes the PROBID method.

The PROBID method considers a spectrum of ideal solutions and the average solution to determine the performance score of each optimal solution.

skcriteria.agg.probid.simplifiedprobid(matrix, objectives, weights, metric='euclidean', **kwargs)[source]

Execute SimplifiedPROBID without any validation.

class skcriteria.agg.probid.SimplifiedPROBID(*, metric='euclidean')[source]

Bases: BasePROBID

Executes the SimplifiedPROBID method.

The SimplifiedPROBID method simplifies PROBID method by using only the top and bottom quartiles of ideal solutions.