public class MetricMDNMLoss extends AbstractMetricMultiDimensional
Metric.AggregateFunctionk| Constructor and Description |
|---|
MetricMDNMLoss()
Default constructor which treats all transformation methods equally.
|
MetricMDNMLoss(double gsFactor,
Metric.AggregateFunction function)
A constructor that allows to define a factor weighting generalization and suppression.
|
MetricMDNMLoss(Metric.AggregateFunction function)
Default constructor which treats all transformation methods equally.
|
| Modifier and Type | Method and Description |
|---|---|
MetricConfiguration |
getConfiguration()
Returns the configuration of this metric.
|
double |
getGeneralizationFactor()
Returns the factor used weight generalized values.
|
double |
getGeneralizationSuppressionFactor()
Returns the factor weighting generalization and suppression.
|
protected ILMultiDimensionalWithBound |
getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node,
org.deidentifier.arx.framework.check.groupify.HashGroupify g)
Evaluates the metric for the given node.
|
protected ILMultiDimensionalWithBound |
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 g)
Returns a lower bound for the information loss for the given node.
|
java.lang.String |
getName()
Returns the name of metric.
|
ILScore |
getScore(org.deidentifier.arx.framework.lattice.Transformation<?> node,
org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
Calculates the score.
|
protected DomainShare[] |
getShares()
For subclasses.
|
double |
getSuppressionFactor()
Returns the factor used to weight suppressed values.
|
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[] hierarchies,
ARXConfiguration config)
Implement this to initialize the metric.
|
boolean |
isAbleToHandleMicroaggregation()
Returns whether this metric handles microaggregation
|
boolean |
isGSFactorSupported()
Returns whether a generalization/suppression factor is supported
|
boolean |
isScoreFunctionSupported()
Returns whether the metric provides a score function
|
protected double |
normalizeAggregated(double aggregate)
Normalizes the aggregate.
|
protected double |
normalizeGeneralized(double aggregate,
int dimension)
Normalizes the aggregate.
|
ElementData |
render(ARXConfiguration config)
Renders the privacy model
|
java.lang.String |
toString()
Returns the name of metric.
|
createInformationLoss, createMaxInformationLoss, createMinInformationLoss, getAggregateFunction, getAggregationFunctionsGeneralized, getAggregationFunctionsNonGeneralized, getAggregationIndicesGeneralized, getAggregationIndicesNonGeneralized, getAggregationInformation, getDimensions, getDimensionsAggregated, getDimensionsGeneralized, initialize, setMax, setMincreateAECSMetric, 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, getDescription, getDescription, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getNumRecords, getSubset, initialize, isAbleToHandleClusteredMicroaggregation, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isPrecomputed, isWeighted, list, roundpublic MetricMDNMLoss()
public MetricMDNMLoss(Metric.AggregateFunction function)
function - public MetricMDNMLoss(double gsFactor,
Metric.AggregateFunction function)
gsFactor - 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.function - public MetricConfiguration getConfiguration()
getConfiguration in class Metric<AbstractILMultiDimensional>public double getGeneralizationFactor()
MetricgetGeneralizationFactor in class Metric<AbstractILMultiDimensional>public double getGeneralizationSuppressionFactor()
MetricgetGeneralizationSuppressionFactor in class Metric<AbstractILMultiDimensional>public java.lang.String getName()
MetricgetName in class Metric<AbstractILMultiDimensional>public ILScore getScore(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
MetricgetScore in class Metric<AbstractILMultiDimensional>public double getSuppressionFactor()
MetricgetSuppressionFactor in class Metric<AbstractILMultiDimensional>public boolean isAbleToHandleMicroaggregation()
MetricisAbleToHandleMicroaggregation in class Metric<AbstractILMultiDimensional>public boolean isGSFactorSupported()
MetricisGSFactorSupported in class Metric<AbstractILMultiDimensional>public boolean isScoreFunctionSupported()
MetricisScoreFunctionSupported in class Metric<AbstractILMultiDimensional>public ElementData render(ARXConfiguration config)
Metricrender in class Metric<AbstractILMultiDimensional>public java.lang.String toString()
MetrictoString in class Metric<AbstractILMultiDimensional>protected ILMultiDimensionalWithBound getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify g)
MetricgetInformationLossInternal in class Metric<AbstractILMultiDimensional>node - The node for which to compute the information lossg - The groupify operator of the previous checkprotected ILMultiDimensionalWithBound getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
MetricgetInformationLoss(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)
Metricnull.getLowerBoundInternal in class Metric<AbstractILMultiDimensional>protected AbstractILMultiDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify g)
Metricnull. getLowerBoundInternal in class Metric<AbstractILMultiDimensional>protected DomainShare[] getShares()
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[] hierarchies,
ARXConfiguration config)
MetricinitializeInternal in class AbstractMetricMultiDimensionalprotected double normalizeAggregated(double aggregate)
aggregate - dimension - protected double normalizeGeneralized(double aggregate,
int dimension)
aggregate - dimension -