aggregators
This module gathers MAVT aggregators.
- class ChoquetIntegral(capacity, in_scales=None, out_scale=None)
Bases:
Aggregator
[QuantitativeScale
,QuantitativeScale
]This class represents a Choquet integral aggregator.
- Parameters
capacity (ISetFunction) – capacity used for aggregation (either in regular or Möbius representation)
in_scales (Union[QuantitativeScale, Mapping[Any, QuantitativeScale], None]) – input scales (inferred from input if not provided)
out_scale (Union[QuantitativeScale, None]) – output scales (inferred from output if not provided)
Note
Implementation is based on [GKM08].
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool
- class NormalizedWeightedSum(criteria_weights, in_scales=None, out_scale=None)
Bases:
WeightedSum
This class represents a normalized weighted sum aggregator.
- Parameters
criteria_weights (Union[Dict[Any, float], Series]) –
in_scales (Union[QuantitativeScale, Mapping[Any, QuantitativeScale], None]) – input scales (inferred from input if not provided)
out_scale (Union[QuantitativeScale, None]) – output scales (inferred from output if not provided)
- Attr weight_function
functions applying weights without aggregation
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool
- class OWA(weights, in_scales=None, out_scale=None)
Bases:
Aggregator
[QuantitativeScale
,QuantitativeScale
]This class represents an Ordered Weighted Aggregator (OWA).
- Parameters
weights (List[float]) –
in_scales (Union[QuantitativeScale, Mapping[Any, QuantitativeScale], None]) – input scales (inferred from input if not provided)
out_scale (Union[QuantitativeScale, None]) – output scales (inferred from output if not provided)
Note
Implementation is based on [GKM08].
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- classmethod and_aggregator(size)
Return and OWA aggregator of given weights size.
- Parameters
size (int) –
- Returns
- Return type
Note
\(W_*\) as defined in [Yag88]
- property andness: float
Return andness measure of OWA weights.
- Returns
Note
andness as defined in [Yag88]
- property dispersion: float
Return OWA weights dispersion (also called entropy).
- Returns
Note
dispersion as defined in [Yag88]
- property divergence: float
Return OWA weights divergence.
- Returns
Note
divergence as defined in [Yag02]
- classmethod from_quantifier(quantifier)
Return OWA aggregator corresponding to given quantifier.
- Parameters
quantifier (List[float]) –
- Returns
- Return type
Note
quantifier as defined in [Yag88]
- classmethod or_aggregator(size)
Return or OWA aggregator of given weights size.
- Parameters
size (int) –
- Returns
- Return type
Note
\(W^*\) as defined in [Yag88]
- property orness: float
Return orness measure of OWA weights.
- Returns
Note
orness as defined in [Yag88]
- property quantifier: List[float]
Return quantifier corresponding to OWA weights.
- Returns
Note
quantifier as defined in [Yag88]
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool
- class Sum(in_scales=None, out_scale=None, in_stype=None, out_stype=None)
Bases:
Aggregator
[QuantitativeScale
,QuantitativeScale
]This class represents a simple sum aggregator.
- Parameters
in_scales (Union[I_S, Mapping[Any, I_S], None]) – input scales (inferred from input if not provided)
out_scale (Union[O_S, None]) – output scales (inferred from output if not provided)
in_stype (Union[Type[I_S], None]) –
out_stype (Union[Type[O_S], None]) –
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool
- class ULOWA(weights, scale)
Bases:
Aggregator
[FuzzyScale
,FuzzyScale
]This class represents an Unbalanced Linguistic Weighted Average (ULOWA) aggregator.
- Parameters
weights (List[float]) –
scale (FuzzyScale) – fuzzy scale used for the average
Note
implementation based on [IMVM10]
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- delta(a, b, weight)
Returns ULOWA delta value.
- Parameters
a (Any) – worst value
b (Any) – best value
weight (float) – ULOWA weight
- Returns
- Return type
float
- most_similar(a, b, ref_fuzzy)
Returns label which fuzzy number is the most similar to the reference (between a and b labels).
- Parameters
a (Any) –
b (Any) –
ref_fuzzy (FuzzyNumber) – fuzzy number that is being compared to
- Returns
- Return type
Any
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool
- class WeightedSum(criteria_weights, in_scales=None, out_scale=None)
Bases:
Sum
This class represents a weighted sum aggregator.
- Parameters
criteria_weights (Union[Dict[Any, float], Series]) –
in_scales (Union[QuantitativeScale, Mapping[Any, QuantitativeScale], None]) – input scales (inferred from input if not provided)
out_scale (Union[QuantitativeScale, None]) – output scales (inferred from output if not provided)
- Attr weight_function
functions applying weights without aggregation
- __call__(data, *args, **kwargs)
Apply aggregation method to input data.
- Parameters
data (Union[PartialValueMatrix[I_S], IValueMatrix[I_S], DataFrame, Series, Values[I_S]]) –
- Returns
aggregation result
- Return type
Union[Any, Series, CommensurableValues[O_S], AdjacencyValueMatrix[O_S]]
Note
aggregation is applied for each row in case of tabular data
- within_in_scales(data)
Check potential input is inside input scales.
- Parameters
data (Union[Series, Values[I_S], DataFrame, IValueMatrix[I_S], PartialValueMatrix[I_S]]) –
- Returns
True
if data is withinin_scales
- Return type
bool