Package org.deidentifier.arx.metric
Klasse MetricEntropy
java.lang.Object
org.deidentifier.arx.metric.Metric<org.deidentifier.arx.metric.InformationLossDefault>
org.deidentifier.arx.metric.MetricDefault
org.deidentifier.arx.metric.MetricEntropy
- Alle implementierten Schnittstellen:
Serializable
- Bekannte direkte Unterklassen:
MetricNMEntropy
This class provides an efficient implementation of the non-uniform entropy
metric. It avoids a cell-by-cell process by utilizing a three-dimensional
array that maps identifiers to their frequency for all quasi-identifiers and
generalization levels. It further reduces the overhead induced by subsequent
calls by caching the results for previous columns and generalization levels.
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen org.deidentifier.arx.metric.Metric
Metric.AggregateFunction -
Konstruktorübersicht
KonstruktorenModifiziererKonstruktorBeschreibungprotectedprotectedMetricEntropy(boolean monotonicWithGeneralization, boolean monotonicWithSuppression, boolean independent) Creates a new instance. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected double[][]getCache()protected int[][][]protected int[][][]protected InformationLossWithBound<org.deidentifier.arx.metric.InformationLossDefault> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify g) Evaluates the metric for the given node.protected InformationLossWithBound<org.deidentifier.arx.metric.InformationLossDefault> 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 org.deidentifier.arx.metric.InformationLossDefaultgetLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node) Returns a lower bound for the information loss for the given node.protected org.deidentifier.arx.metric.InformationLossDefaultgetLowerBoundInternal(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 voidinitializeInternal(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.render(ARXConfiguration config) Renders the privacy modeltoString()Returns the name of metric.Von Klasse geerbte Methoden org.deidentifier.arx.metric.MetricDefault
createMaxInformationLoss, createMinInformationLossVon 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, getAggregateFunction, getConfiguration, getDescription, getDescription, getGeneralizationFactor, getGeneralizationSuppressionFactor, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, getNumRecords, getScore, getSubset, getSuppressionFactor, initialize, isAbleToHandleClusteredMicroaggregation, isAbleToHandleMicroaggregation, isGSFactorSupported, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isPrecomputed, isScoreFunctionSupported, isWeighted, list, round
-
Konstruktordetails
-
MetricEntropy
protected MetricEntropy() -
MetricEntropy
protected MetricEntropy(boolean monotonicWithGeneralization, boolean monotonicWithSuppression, boolean independent) Creates a new instance.- Parameter:
monotonicWithGeneralization-monotonicWithSuppression-independent-
-
-
Methodendetails
-
render
Beschreibung aus Klasse kopiert:MetricRenders the privacy model -
toString
Beschreibung aus Klasse kopiert:MetricReturns the name of metric. -
getCache
protected double[][] getCache()- Gibt zurück:
- the cache
-
getCardinalities
protected int[][][] getCardinalities()- Gibt zurück:
- the cardinalities
-
getHierarchies
protected int[][][] getHierarchies()- Gibt zurück:
- the hierarchies
-
getInformationLossInternal
protected InformationLossWithBound<org.deidentifier.arx.metric.InformationLossDefault> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify g) Beschreibung aus Klasse kopiert:MetricEvaluates the metric for the given node.- Angegeben von:
getInformationLossInternalin KlasseMetric<org.deidentifier.arx.metric.InformationLossDefault>- Parameter:
node- The node for which to compute the information lossg- The groupify operator of the previous check- Gibt zurück:
- the double
-
getInformationLossInternal
protected InformationLossWithBound<org.deidentifier.arx.metric.InformationLossDefault> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.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<org.deidentifier.arx.metric.InformationLossDefault>- Parameter:
entry-- Gibt zurück:
-
getLowerBoundInternal
protected org.deidentifier.arx.metric.InformationLossDefault getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node) 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.- Setzt außer Kraft:
getLowerBoundInternalin KlasseMetricDefault- Parameter:
node-- Gibt zurück:
-
getLowerBoundInternal
protected org.deidentifier.arx.metric.InformationLossDefault getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.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!- Setzt außer Kraft:
getLowerBoundInternalin KlasseMetricDefault- Parameter:
node-groupify-- Gibt zurück:
-
initializeInternal
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) Beschreibung aus Klasse kopiert:MetricImplement this to initialize the metric.- Setzt außer Kraft:
initializeInternalin KlasseMetricDefault- Parameter:
manager-definition-input-ahierarchies-config-
-