org.deidentifier.arx.metric.v2

## Class AbstractMetricMultiDimensionalPotentiallyPrecomputed

- java.lang.Object
- - org.deidentifier.arx.metric.Metric<AbstractILMultiDimensional>
  - - org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
    - - org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensionalPotentiallyPrecomputed

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  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.

Author:
  Fabian Prasser, Florian Kohlmayer
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.deidentifier.arx.metric.Metric

`Metric.AggregateFunction`

### Method Summary

All Methods Instance Methods Concrete Methods
`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.
`double` `getGeneralizationFactor()` Returns the factor used weight generalized values.
`double` `getGeneralizationSuppressionFactor()` Returns the factor weighting generalization and suppression.
`ILScore` `getScore(Transformation<?> node, HashGroupify groupify)` Calculates the score.
`double` `getSuppressionFactor()` Returns the factor used to weight suppressed values.
`boolean` `isIndependent()` Returns whether this metric requires the transformed data or groups to determine information loss.
`boolean` `isPrecomputed()` Returns whether the metric is precomputed
`boolean` `isScoreFunctionSupported()` Returns whether the metric provides a score function

### Methods inherited from class 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, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, initialize, isAbleToHandleClusteredMicroaggregation, isAbleToHandleMicroaggregation, isGSFactorSupported, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isWeighted, list, render, toString`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Method Detail

#### createMaxInformationLoss

    public InformationLoss<?> createMaxInformationLoss()

Description copied from class: `Metric`
Returns an instance of the maximal value.

Overrides:
  `createMaxInformationLoss` in class `AbstractMetricMultiDimensional`
Returns:

#### createMinInformationLoss

    public InformationLoss<?> createMinInformationLoss()

Description copied from class: `Metric`
Returns an instance of the minimal value.

Overrides:
  `createMinInformationLoss` in class `AbstractMetricMultiDimensional`
Returns:

#### getAggregateFunction

    public Metric.AggregateFunction getAggregateFunction()

Description copied from class: `Metric`
Returns the aggregate function of a multi-dimensional metric, null otherwise.

Overrides:
  `getAggregateFunction` in class `AbstractMetricMultiDimensional`
Returns:

#### getGeneralizationFactor

    public double getGeneralizationFactor()

Description copied from class: `Metric`
Returns the factor used weight generalized values.

Overrides:
  `getGeneralizationFactor` in class `Metric<AbstractILMultiDimensional>`
Returns:

#### getGeneralizationSuppressionFactor

    public double getGeneralizationSuppressionFactor()

Description copied from class: `Metric`
Returns the factor weighting generalization and suppression.

Overrides:
  `getGeneralizationSuppressionFactor` in class `Metric<AbstractILMultiDimensional>`
Returns:
  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

    public ILScore getScore(Transformation<?> node,
                            HashGroupify groupify)

Description copied from class: `Metric`
Calculates the score. Note: All score functions are expected to return a score value divided by the sensitivity of the score function.

Overrides:
  `getScore` in class `Metric<AbstractILMultiDimensional>`
Returns:

#### getSuppressionFactor

    public double getSuppressionFactor()

Description copied from class: `Metric`
Returns the factor used to weight suppressed values.

Overrides:
  `getSuppressionFactor` in class `Metric<AbstractILMultiDimensional>`
Returns:

#### isIndependent

    public boolean isIndependent()

Description copied from class: `Metric`
Returns whether this metric requires the transformed data or groups to determine information loss.

Overrides:
  `isIndependent` in class `Metric<AbstractILMultiDimensional>`
Returns:

#### isPrecomputed

    public boolean isPrecomputed()

Description copied from class: `Metric`
Returns whether the metric is precomputed

Overrides:
  `isPrecomputed` in class `Metric<AbstractILMultiDimensional>`
Returns:

#### isScoreFunctionSupported

    public boolean isScoreFunctionSupported()

Description copied from class: `Metric`
Returns whether the metric provides a score function

Overrides:
  `isScoreFunctionSupported` in class `Metric<AbstractILMultiDimensional>`
Returns: