public abstract class AbstractMetricMultiDimensionalPotentiallyPrecomputed extends AbstractMetricMultiDimensional
Metric.AggregateFunction
Modifier and Type | Method and Description |
---|---|
InformationLoss<?> |
createMaxInformationLoss()
Returns an instance of the maximal value.
|
InformationLoss<?> |
createMinInformationLoss()
Returns an instance of the minimal value.
|
Metric.AggregateFunction |
getAggregateFunction()
Returns the aggregate function of a multi-dimensional metric, null otherwise.
|
protected AbstractMetricMultiDimensional |
getDefaultMetric()
Returns the default variant.
|
double |
getGeneralizationFactor()
Returns the factor used weight generalized values.
|
double |
getGeneralizationSuppressionFactor()
Returns the factor weighting generalization and suppression.
|
protected InformationLossWithBound<AbstractILMultiDimensional> |
getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation node,
org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Evaluates the metric for the given node.
|
protected InformationLossWithBound<AbstractILMultiDimensional> |
getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation node,
org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
Returns the information loss that would be induced by suppressing the given entry.
|
protected AbstractILMultiDimensional |
getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation node)
Returns a lower bound for the information loss for the given node.
|
protected AbstractILMultiDimensional |
getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation node,
org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Returns a lower bound for the information loss for the given node.
|
protected AbstractMetricMultiDimensional |
getPrecomputedMetric()
Returns the precomputed variant.
|
double |
getSuppressionFactor()
Returns the factor used to weight suppressed values.
|
protected double |
getThreshold()
Returns the threshold.
|
protected void |
initializeInternal(org.deidentifier.arx.framework.data.DataManager manager,
DataDefinition definition,
org.deidentifier.arx.framework.data.Data input,
org.deidentifier.arx.framework.data.GeneralizationHierarchy[] ahierarchies,
ARXConfiguration config)
Implement this to initialize the metric.
|
boolean |
isIndependent()
Returns whether this metric requires the transformed data or groups to
determine information loss.
|
boolean |
isPrecomputed()
Returns whether the metric is precomputed
|
createInformationLoss, createInformationLossWithBound, createInformationLossWithoutBound, getAggregateFunctions, getDimensions, getDimensionsAggregated, getDimensionsGeneralized, getError, getMicroaggregationFunctions, getMicroaggregationStartIndex, initialize, setMax, setMin
createAECSMetric, createAECSMetric, createAmbiguityMetric, createDiscernabilityMetric, createDiscernabilityMetric, createEntropyBasedInformationLossMetric, createEntropyBasedInformationLossMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createHeightMetric, createHeightMetric, createInstanceOfHighestScore, createInstanceOfLowestScore, createKLDivergenceMetric, createLossMetric, createLossMetric, createLossMetric, createLossMetric, createMetric, createNormalizedEntropyMetric, createNormalizedEntropyMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedNormalizedEntropyMetric, createPrecomputedNormalizedEntropyMetric, createPublisherPayoutMetric, createPublisherPayoutMetric, createStaticMetric, createStaticMetric, getConfiguration, getDescription, getDescription, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, getNumRecords, getSubset, initialize, isAbleToHandleMicroaggregation, isGSFactorSupported, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isWeighted, list, render, round, toString
public InformationLoss<?> createMaxInformationLoss()
Metric
createMaxInformationLoss
in class AbstractMetricMultiDimensional
public InformationLoss<?> createMinInformationLoss()
Metric
createMinInformationLoss
in class AbstractMetricMultiDimensional
public Metric.AggregateFunction getAggregateFunction()
Metric
getAggregateFunction
in class AbstractMetricMultiDimensional
public double getGeneralizationFactor()
Metric
getGeneralizationFactor
in class Metric<AbstractILMultiDimensional>
public double getGeneralizationSuppressionFactor()
Metric
getGeneralizationSuppressionFactor
in class Metric<AbstractILMultiDimensional>
public double getSuppressionFactor()
Metric
getSuppressionFactor
in class Metric<AbstractILMultiDimensional>
public boolean isIndependent()
Metric
isIndependent
in class Metric<AbstractILMultiDimensional>
public boolean isPrecomputed()
Metric
isPrecomputed
in class Metric<AbstractILMultiDimensional>
protected AbstractMetricMultiDimensional getDefaultMetric()
protected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Metric
getInformationLossInternal
in class Metric<AbstractILMultiDimensional>
node
- The node for which to compute the information lossgroupify
- The groupify operator of the previous checkprotected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation node, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
Metric
getInformationLoss(node, groupify)
but is guaranteed to be comparable for
different entries from the same groupify operator.getInformationLossInternal
in class Metric<AbstractILMultiDimensional>
protected AbstractILMultiDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation node)
Metric
null
.getLowerBoundInternal
in class Metric<AbstractILMultiDimensional>
protected AbstractILMultiDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Metric
null
. getLowerBoundInternal
in class Metric<AbstractILMultiDimensional>
protected AbstractMetricMultiDimensional getPrecomputedMetric()
protected double getThreshold()
protected void initializeInternal(org.deidentifier.arx.framework.data.DataManager manager, DataDefinition definition, org.deidentifier.arx.framework.data.Data input, org.deidentifier.arx.framework.data.GeneralizationHierarchy[] ahierarchies, ARXConfiguration config)
Metric
initializeInternal
in class AbstractMetricMultiDimensional