Package org.deidentifier.arx.metric.v2
Klasse AbstractMetricMultiDimensionalPotentiallyPrecomputed
java.lang.Object
org.deidentifier.arx.metric.Metric<AbstractILMultiDimensional>
org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensionalPotentiallyPrecomputed
- Alle implementierten Schnittstellen:
Serializable
- Bekannte direkte Unterklassen:
MetricMDNMLossPotentiallyPrecomputed,MetricMDNUEntropyPotentiallyPrecomputed,MetricMDNUNMEntropyPotentiallyPrecomputed,MetricMDNUNMNormalizedEntropyPotentiallyPrecomputed
public abstract class AbstractMetricMultiDimensionalPotentiallyPrecomputed
extends AbstractMetricMultiDimensional
This class provides an abstract skeleton for the implementation of metrics
that can either be precomputed or not. The decision is made at runtime depending
on data properties.
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen org.deidentifier.arx.metric.Metric
Metric.AggregateFunction -
Feldübersicht
Von Klasse geerbte Felder org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
k -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungReturns an instance of the maximal value.Returns an instance of the minimal value.Returns the aggregate function of a multi-dimensional metric, null otherwise.protected AbstractMetricMultiDimensionalReturns the default variant.doubleReturns the factor used weight generalized values.doubleReturns the factor weighting generalization and suppression.getInformationLossInternal(Transformation<?> node, HashGroupify groupify) Evaluates the metric for the given node.getInformationLossInternal(Transformation<?> node, HashGroupifyEntry entry) Returns the information loss that would be induced by suppressing the given entry.protected AbstractILMultiDimensionalgetLowerBoundInternal(Transformation<?> node) Returns a lower bound for the information loss for the given node.protected AbstractILMultiDimensionalgetLowerBoundInternal(Transformation<?> node, HashGroupify groupify) Returns a lower bound for the information loss for the given node.protected AbstractMetricMultiDimensionalReturns the precomputed variant.getScore(Transformation<?> node, HashGroupify groupify) Calculates the score.doubleReturns the factor used to weight suppressed values.protected doubleReturns the threshold.protected voidinitializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] ahierarchies, ARXConfiguration config) Implement this to initialize the metric.booleanReturns whether this metric requires the transformed data or groups to determine information loss.booleanReturns whether the metric is precomputedbooleanReturns whether the metric provides a score functionVon Klasse geerbte Methoden org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
createInformationLoss, getAggregationFunctionsGeneralized, getAggregationFunctionsNonGeneralized, getAggregationIndicesGeneralized, getAggregationIndicesNonGeneralized, getAggregationInformation, getDimensions, getDimensionsAggregated, getDimensionsGeneralized, initialize, setMax, setMinVon Klasse geerbte Methoden org.deidentifier.arx.metric.Metric
createAECSMetric, createAECSMetric, createAmbiguityMetric, createClassificationMetric, createClassificationMetric, 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, isAbleToHandleClusteredMicroaggregation, isAbleToHandleMicroaggregation, isGSFactorSupported, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isWeighted, list, render, round, toString
-
Methodendetails
-
createMaxInformationLoss
Beschreibung aus Klasse kopiert:MetricReturns an instance of the maximal value.- Setzt außer Kraft:
createMaxInformationLossin KlasseAbstractMetricMultiDimensional- Gibt zurück:
-
createMinInformationLoss
Beschreibung aus Klasse kopiert:MetricReturns an instance of the minimal value.- Setzt außer Kraft:
createMinInformationLossin KlasseAbstractMetricMultiDimensional- Gibt zurück:
-
getAggregateFunction
Beschreibung aus Klasse kopiert:MetricReturns the aggregate function of a multi-dimensional metric, null otherwise.- Setzt außer Kraft:
getAggregateFunctionin KlasseAbstractMetricMultiDimensional- Gibt zurück:
-
getGeneralizationFactor
public double getGeneralizationFactor()Beschreibung aus Klasse kopiert:MetricReturns the factor used weight generalized values.- Setzt außer Kraft:
getGeneralizationFactorin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
getGeneralizationSuppressionFactor
public double getGeneralizationSuppressionFactor()Beschreibung aus Klasse kopiert:MetricReturns the factor weighting generalization and suppression.- Setzt außer Kraft:
getGeneralizationSuppressionFactorin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
- A factor [0,1] weighting generalization and suppression. The default value is 0.5, which means that generalization and suppression will be treated equally. A factor of 0 will favor suppression, and a factor of 1 will favor generalization. The values in between can be used for balancing both methods.
-
getScore
Beschreibung aus Klasse kopiert:MetricCalculates the score. Note: All score functions are expected to return a score value divided by the sensitivity of the score function.- Setzt außer Kraft:
getScorein KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-groupify-- Gibt zurück:
-
getSuppressionFactor
public double getSuppressionFactor()Beschreibung aus Klasse kopiert:MetricReturns the factor used to weight suppressed values.- Setzt außer Kraft:
getSuppressionFactorin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
isIndependent
public boolean isIndependent()Beschreibung aus Klasse kopiert:MetricReturns whether this metric requires the transformed data or groups to determine information loss.- Setzt außer Kraft:
isIndependentin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
isPrecomputed
public boolean isPrecomputed()Beschreibung aus Klasse kopiert:MetricReturns whether the metric is precomputed- Setzt außer Kraft:
isPrecomputedin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
isScoreFunctionSupported
public boolean isScoreFunctionSupported()Beschreibung aus Klasse kopiert:MetricReturns whether the metric provides a score function- Setzt außer Kraft:
isScoreFunctionSupportedin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
getDefaultMetric
Returns the default variant.- Gibt zurück:
-
getInformationLossInternal
protected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(Transformation<?> node, HashGroupify groupify) Beschreibung aus Klasse kopiert:MetricEvaluates the metric for the given node.- Angegeben von:
getInformationLossInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node- The node for which to compute the information lossgroupify- The groupify operator of the previous check- Gibt zurück:
- the double
-
getInformationLossInternal
protected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(Transformation<?> node, HashGroupifyEntry entry) Beschreibung aus Klasse kopiert:MetricReturns the information loss that would be induced by suppressing the given entry. The loss is not necessarily consistent with the loss that is computed bygetInformationLoss(node, groupify)but is guaranteed to be comparable for different entries from the same groupify operator.- Angegeben von:
getInformationLossInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
entry-- Gibt zurück:
-
getLowerBoundInternal
Beschreibung aus Klasse kopiert:MetricReturns a lower bound for the information loss for the given node. This can be used to expose the results of monotonic shares of a metric, which can significantly speed-up the anonymization process. If no such metric exists, simply returnnull.- Angegeben von:
getLowerBoundInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-- Gibt zurück:
-
getLowerBoundInternal
protected AbstractILMultiDimensional getLowerBoundInternal(Transformation<?> node, HashGroupify groupify) Beschreibung aus Klasse kopiert:MetricReturns a lower bound for the information loss for the given node. This can be used to expose the results of monotonic shares of a metric, which can significantly speed-up the anonymization process. If no such metric exists, simply returnnull.
This variant of the method allows computing a monotonic share based on a groupified data representation. IMPORTANT NOTE: The groups may not have been classified correctly when the method is called, i.e., HashGroupifyEntry.isNotOutlier may not be set correctly!- Angegeben von:
getLowerBoundInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-groupify-- Gibt zurück:
-
getPrecomputedMetric
Returns the precomputed variant.- Gibt zurück:
-
getThreshold
protected double getThreshold()Returns the threshold.- Gibt zurück:
-
initializeInternal
protected void initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] ahierarchies, ARXConfiguration config) Beschreibung aus Klasse kopiert:MetricImplement this to initialize the metric.- Setzt außer Kraft:
initializeInternalin KlasseAbstractMetricMultiDimensional- Parameter:
manager-definition-input-ahierarchies-config-
-