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

public class MetricEntropy extends MetricDefault
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:
  • Konstruktordetails

    • MetricEntropy

      protected MetricEntropy()
    • MetricEntropy

      protected MetricEntropy(boolean monotonicWithGeneralization, boolean monotonicWithSuppression, boolean independent)
      Creates a new instance.
      Parameter:
      monotonicWithGeneralization -
      monotonicWithSuppression -
      independent -
  • Methodendetails

    • render

      public ElementData render(ARXConfiguration config)
      Beschreibung aus Klasse kopiert: Metric
      Renders the privacy model
      Angegeben von:
      render in Klasse Metric<org.deidentifier.arx.metric.InformationLossDefault>
      Gibt zurück:
    • toString

      public String toString()
      Beschreibung aus Klasse kopiert: Metric
      Returns the name of metric.
      Setzt außer Kraft:
      toString in Klasse Metric<org.deidentifier.arx.metric.InformationLossDefault>
      Gibt zurück:
    • 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(Transformation<?> node, HashGroupify g)
      Beschreibung aus Klasse kopiert: Metric
      Evaluates the metric for the given node.
      Angegeben von:
      getInformationLossInternal in Klasse Metric<org.deidentifier.arx.metric.InformationLossDefault>
      Parameter:
      node - The node for which to compute the information loss
      g - The groupify operator of the previous check
      Gibt zurück:
      the double
    • getInformationLossInternal

      protected InformationLossWithBound<org.deidentifier.arx.metric.InformationLossDefault> getInformationLossInternal(Transformation<?> node, HashGroupifyEntry entry)
      Beschreibung aus Klasse kopiert: Metric
      Returns the information loss that would be induced by suppressing the given entry. The loss is not necessarily consistent with the loss that is computed by getInformationLoss(node, groupify) but is guaranteed to be comparable for different entries from the same groupify operator.
      Angegeben von:
      getInformationLossInternal in Klasse Metric<org.deidentifier.arx.metric.InformationLossDefault>
      Parameter:
      entry -
      Gibt zurück:
    • getLowerBoundInternal

      protected org.deidentifier.arx.metric.InformationLossDefault getLowerBoundInternal(Transformation<?> node)
      Beschreibung aus Klasse kopiert: Metric
      Returns 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 return null.
      Setzt außer Kraft:
      getLowerBoundInternal in Klasse MetricDefault
      Parameter:
      node -
      Gibt zurück:
    • getLowerBoundInternal

      protected org.deidentifier.arx.metric.InformationLossDefault getLowerBoundInternal(Transformation<?> node, HashGroupify groupify)
      Beschreibung aus Klasse kopiert: Metric
      Returns 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 return null.

      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:
      getLowerBoundInternal in Klasse MetricDefault
      Parameter:
      node -
      groupify -
      Gibt zurück:
    • initializeInternal

      protected void initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] ahierarchies, ARXConfiguration config)
      Beschreibung aus Klasse kopiert: Metric
      Implement this to initialize the metric.
      Setzt außer Kraft:
      initializeInternal in Klasse MetricDefault
      Parameter:
      manager -
      definition -
      input -
      ahierarchies -
      config -