org.deidentifier.arx.metric

## Class MetricNMEntropy

- java.lang.Object
- - org.deidentifier.arx.metric.Metric<org.deidentifier.arx.metric.InformationLossDefault>
  - - org.deidentifier.arx.metric.MetricDefault
    - - org.deidentifier.arx.metric.MetricEntropy
      - - org.deidentifier.arx.metric.MetricNMEntropy

All Implemented Interfaces:
  java.io.Serializable

    public class MetricNMEntropy
    extends MetricEntropy

This class provides an efficient implementation of a non-monotonic and 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. It takes supressed tuples into account by adding the information loss induced by suppressing the transformed representation of the outliers.

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
`ElementData` `render(ARXConfiguration config)` Renders the privacy model
`java.lang.String` `toString()` Returns the name of metric.

### Methods inherited from class org.deidentifier.arx.metric.MetricDefault

`createMaxInformationLoss, createMinInformationLoss`

### 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, getAggregateFunction, getConfiguration, getDescription, getGeneralizationFactor, getGeneralizationSuppressionFactor, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, getScore, getSuppressionFactor, initialize, isAbleToHandleClusteredMicroaggregation, isAbleToHandleMicroaggregation, isGSFactorSupported, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isPrecomputed, isScoreFunctionSupported, isWeighted, list`

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

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

### Method Detail

#### render

    public ElementData render(ARXConfiguration config)

Description copied from class: `Metric`
Renders the privacy model

Overrides:
  `render` in class `MetricEntropy`
Returns:

#### toString

    public java.lang.String toString()

Description copied from class: `Metric`
Returns the name of metric.

Overrides:
  `toString` in class `MetricEntropy`