public class __MetricV2
extends java.lang.Object
org.deidentifier.arx.metric.Metric for creating instances of metrics for information loss.
Constructor and Description |
---|
__MetricV2() |
Modifier and Type | Method and Description |
---|---|
static Metric<ILSingleDimensional> |
createAECSMetric()
Creates a new instance of the AECS metric.
|
static Metric<ILSingleDimensional> |
createAECSMetric(double gsFactor)
Creates a new instance of the AECS metric.
|
static Metric<ILSingleDimensional> |
createAECSMetric(int rowCount)
Creates a new instance of the AECS metric.
|
static Metric<ILSingleDimensional> |
createAmbiguityMetric()
Creates an instance of the ambiguity metric.
|
static Metric<ILSingleDimensional> |
createClassificationMetric()
Creates an instance of the classification metric.
|
static Metric<ILSingleDimensional> |
createClassificationMetric(double gsFactor)
Creates an instance of the classification metric.
|
static Metric<ILSingleDimensional> |
createDiscernabilityMetric()
Creates an instance of the discernability metric.
|
static Metric<ILSingleDimensional> |
createDiscernabilityMetric(boolean monotonic)
Creates an instance of the discernability metric.
|
static Metric<ILSingleDimensional> |
createDiscernabilityMetric(boolean monotonic,
double numTuples)
Creates an instance of the discernability metric.
|
static MetricSDNMEntropyBasedInformationLoss |
createEntropyBasedInformationLossMetric(double gsFactor)
Creates an instance of the entropy-based information loss metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric()
Creates an instance of the non-monotonic non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(boolean monotonic)
Creates an instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(boolean monotonic,
double gsFactor)
Creates an instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(boolean monotonic,
double[][] cache,
int[][][] cardinalities,
int[][][] hierarchies)
Creates an instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(boolean monotonic,
double gsFactor,
Metric.AggregateFunction function)
Creates an instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(boolean monotonic,
Metric.AggregateFunction function)
Creates an instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createEntropyMetric(double gsFactor)
Creates an instance of the non-monotonic non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createHeightMetric()
Creates an instance of the height metric.
|
static Metric<AbstractILMultiDimensional> |
createHeightMetric(int minHeight,
int maxHeight)
Creates an instance of the height metric.
|
static Metric<AbstractILMultiDimensional> |
createHeightMetric(Metric.AggregateFunction function)
Creates an instance of the height metric.
|
static InformationLoss<?> |
createILMultiDimensionalArithmeticMean(double value)
Helper method.
|
static InformationLoss<?> |
createILMultiDimensionalSum(double value)
Helper method.
|
static InformationLoss<?> |
createILSingleDimensional(double value)
Helper method.
|
static Metric<ILSingleDimensional> |
createKLDivergenceMetric()
Creates an instance of the KL Divergence metric.
|
static Metric<AbstractILMultiDimensional> |
createLossMetric()
Creates an instance of the loss metric which treats generalization and suppression equally.
|
static Metric<AbstractILMultiDimensional> |
createLossMetric(double gsFactor)
Creates an instance of the loss metric with factors for weighting generalization and suppression.
|
static Metric<AbstractILMultiDimensional> |
createLossMetric(double gsFactor,
Metric.AggregateFunction function)
Creates an instance of the loss metric with factors for weighting generalization and suppression.
|
static Metric<AbstractILMultiDimensional> |
createLossMetric(Metric.AggregateFunction function)
Creates an instance of the loss metric which treats generalization and suppression equally.
|
static Metric<AbstractILMultiDimensional> |
createNormalizedEntropyMetric()
Creates an instance of the normalized entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createNormalizedEntropyMetric(Metric.AggregateFunction function)
Creates an instance of the normalized entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric()
Creates an instance of the non-monotonic precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(boolean monotonic)
Creates an instance of the precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(boolean monotonic,
double gsFactor)
Creates an instance of the precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(boolean monotonic,
double gsFactor,
Metric.AggregateFunction function)
Creates an instance of the precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(boolean monotonic,
int[] heights,
double cells)
Creates an instance of the precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(boolean monotonic,
Metric.AggregateFunction function)
Creates an instance of the precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(double gsFactor)
Creates an instance of the non-monotonic precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(double gsFactor,
Metric.AggregateFunction function)
Creates an instance of the non-monotonic precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecisionMetric(Metric.AggregateFunction function)
Creates an instance of the non-monotonic precision metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold)
Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold,
boolean monotonic)
Creates a potentially precomputed instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold,
boolean monotonic,
double gsFactor)
Creates a potentially precomputed instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold,
boolean monotonic,
double gsFactor,
Metric.AggregateFunction function)
Creates a potentially precomputed instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold,
boolean monotonic,
Metric.AggregateFunction function)
Creates a potentially precomputed instance of the non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedEntropyMetric(double threshold,
double gsFactor)
Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedLossMetric(double threshold)
Creates a potentially precomputed instance of the loss metric which treats generalization
and suppression equally.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedLossMetric(double threshold,
double gsFactor)
Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedLossMetric(double threshold,
double gsFactor,
Metric.AggregateFunction function)
Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedLossMetric(double threshold,
Metric.AggregateFunction function)
Creates a potentially precomputed instance of the loss metric which treats generalization and suppression equally.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedNormalizedEntropyMetric(double threshold)
Creates a potentially precomputed instance of the normalized entropy metric.
|
static Metric<AbstractILMultiDimensional> |
createPrecomputedNormalizedEntropyMetric(double threshold,
Metric.AggregateFunction function)
Creates a potentially precomputed instance of the normalized entropy metric.
|
static MetricSDNMPublisherPayout |
createPublisherBenefitMetric(boolean journalistAttackerModel,
double gsFactor)
Creates an instance of the model for maximizing publisher benefit in the game-theoretic privacy
model based on a cost/benefit analysis.
|
static Metric<AbstractILMultiDimensional> |
createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss)
Creates an instance of a metric with statically defined information loss.
|
static Metric<AbstractILMultiDimensional> |
createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss,
Metric.AggregateFunction function)
Creates an instance of a metric with statically defined information loss.
|
public static Metric<ILSingleDimensional> createAECSMetric()
public static Metric<ILSingleDimensional> createAECSMetric(double gsFactor)
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.public static Metric<ILSingleDimensional> createAECSMetric(int rowCount)
rowCount
- public static Metric<ILSingleDimensional> createAmbiguityMetric()
public static Metric<ILSingleDimensional> createClassificationMetric(double gsFactor)
gsFactor
- public static Metric<ILSingleDimensional> createClassificationMetric()
public static Metric<ILSingleDimensional> createDiscernabilityMetric()
public static Metric<ILSingleDimensional> createDiscernabilityMetric(boolean monotonic)
monotonic
- If set to true, the monotonic variant (DM*) will be createdpublic static Metric<ILSingleDimensional> createDiscernabilityMetric(boolean monotonic, double numTuples)
monotonic
- If set to true, the monotonic variant (DM*) will be creatednumTuples
- Pre-initializationpublic static MetricSDNMEntropyBasedInformationLoss createEntropyBasedInformationLossMetric(double gsFactor)
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.public static Metric<AbstractILMultiDimensional> createEntropyMetric()
public static Metric<AbstractILMultiDimensional> createEntropyMetric(boolean monotonic)
monotonic
- If set to true, the monotonic variant of the metric will be createdpublic static Metric<AbstractILMultiDimensional> createEntropyMetric(boolean monotonic, Metric.AggregateFunction function)
monotonic
- If set to true, the monotonic variant of the metric will be createdfunction
- The aggregate function to be used for comparing resultspublic static Metric<AbstractILMultiDimensional> createEntropyMetric(boolean monotonic, double gsFactor)
monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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.public static Metric<AbstractILMultiDimensional> createEntropyMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)
monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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
- The aggregate function to be used for comparing resultspublic static Metric<AbstractILMultiDimensional> createEntropyMetric(boolean monotonic, double[][] cache, int[][][] cardinalities, int[][][] hierarchies)
monotonic
- If set to true, the monotonic variant of the metric will be createdcache
- cardinalities
- hierarchies
- public static Metric<AbstractILMultiDimensional> createEntropyMetric(double gsFactor)
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.public static Metric<AbstractILMultiDimensional> createHeightMetric()
public static Metric<AbstractILMultiDimensional> createHeightMetric(Metric.AggregateFunction function)
function
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createHeightMetric(int minHeight, int maxHeight)
minHeight
- maxHeight
- public static InformationLoss<?> createILMultiDimensionalArithmeticMean(double value)
value
- public static InformationLoss<?> createILMultiDimensionalSum(double value)
value
- public static InformationLoss<?> createILSingleDimensional(double value)
value
- public static Metric<ILSingleDimensional> createKLDivergenceMetric()
public static Metric<AbstractILMultiDimensional> createLossMetric()
public static Metric<AbstractILMultiDimensional> createLossMetric(Metric.AggregateFunction function)
function
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createLossMetric(double gsFactor)
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.public static Metric<AbstractILMultiDimensional> createLossMetric(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
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createNormalizedEntropyMetric()
public static Metric<AbstractILMultiDimensional> createNormalizedEntropyMetric(Metric.AggregateFunction function)
function
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecisionMetric()
public static Metric<AbstractILMultiDimensional> createPrecisionMetric(Metric.AggregateFunction function)
function
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecisionMetric(boolean monotonic)
monotonic
- If set to true, the monotonic variant of the metric will be createdpublic static Metric<AbstractILMultiDimensional> createPrecisionMetric(boolean monotonic, Metric.AggregateFunction function)
monotonic
- If set to true, the monotonic variant of the metric will be createdfunction
- public static Metric<AbstractILMultiDimensional> createPrecisionMetric(boolean monotonic, double gsFactor)
monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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.public static Metric<AbstractILMultiDimensional> createPrecisionMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)
monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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 static Metric<AbstractILMultiDimensional> createPrecisionMetric(boolean monotonic, int[] heights, double cells)
monotonic
- If set to true, the monotonic variant of the metric will be createdheights
- cells
- public static Metric<AbstractILMultiDimensional> createPrecisionMetric(double gsFactor)
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.public static Metric<AbstractILMultiDimensional> createPrecisionMetric(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
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.public static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold, boolean monotonic)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.monotonic
- If set to true, the monotonic variant of the metric will be createdpublic static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold, boolean monotonic, Metric.AggregateFunction function)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.monotonic
- If set to true, the monotonic variant of the metric will be createdfunction
- The aggregate function to be used for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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.public static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor, Metric.AggregateFunction function)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.monotonic
- If set to true, the monotonic variant of the metric will be createdgsFactor
- 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
- The aggregate function to be used for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecomputedEntropyMetric(double threshold, double gsFactor)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.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.public static Metric<AbstractILMultiDimensional> createPrecomputedLossMetric(double threshold)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.public static Metric<AbstractILMultiDimensional> createPrecomputedLossMetric(double threshold, Metric.AggregateFunction function)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.function
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecomputedLossMetric(double threshold, double gsFactor)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.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.public static Metric<AbstractILMultiDimensional> createPrecomputedLossMetric(double threshold, double gsFactor, Metric.AggregateFunction function)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.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
- The aggregate function to use for comparing resultspublic static Metric<AbstractILMultiDimensional> createPrecomputedNormalizedEntropyMetric(double threshold)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.public static Metric<AbstractILMultiDimensional> createPrecomputedNormalizedEntropyMetric(double threshold, Metric.AggregateFunction function)
threshold
- The precomputed variant of the metric will be used if
#distinctValues / #rows <= threshold for all quasi-identifiers.function
- The aggregate function to use for comparing resultspublic static MetricSDNMPublisherPayout createPublisherBenefitMetric(boolean journalistAttackerModel, double gsFactor)
journalistAttackerModel
- If set to true, the journalist attacker model will be assumed,
the prosecutor model will be assumed, otherwisegsFactor
- 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.public static Metric<AbstractILMultiDimensional> createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss)
loss
- User defined information loss per attributepublic static Metric<AbstractILMultiDimensional> createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss, Metric.AggregateFunction function)
loss
- User defined information loss per attributefunction
- The aggregate function to use for comparing results