public class KMap extends ImplicitPrivacyCriterion
Modifier and Type | Class and Description |
---|---|
static class |
KMap.CellSizeEstimator
Estimators for cell sizes in the population.
|
Constructor and Description |
---|
KMap(int k,
DataSubset subset)
Creates a new instance of the k-map criterion as proposed by Latanya Sweeney
|
KMap(int k,
double significanceLevel,
ARXPopulationModel populationModel)
Creates a new instance of the criterion using thr Poisson estimator proposed by Pannekoek.
|
KMap(int k,
double significanceLevel,
ARXPopulationModel populationModel,
KMap.CellSizeEstimator estimator)
Creates a new instance of the criterion using the Poisson estimator proposed by Pannekoek or by El Emam.
|
Modifier and Type | Method and Description |
---|---|
KMap |
clone()
Clone
|
PrivacyCriterion |
clone(DataSubset subset)
Clone for local recoding
|
DataSubset |
getDataSubset()
If a privacy model uses a data subset, it must overwrite this method
|
int |
getDerivedK()
Returns the derived parameter k.
|
KMap.CellSizeEstimator |
getEstimator()
Returns the specified estimator.
|
int |
getK()
Returns k.
|
int |
getMinimalClassSize()
If a privacy model provides a prosecutor risk threshold, it should override this method to enable optimizations
|
ARXPopulationModel |
getPopulationModel()
Returns the associated population model,
null if there is none. |
int |
getRequirements()
Returns the criterion's requirements.
|
double |
getRiskThresholdJournalist()
Return journalist risk threshold, 1 if there is none
|
double |
getRiskThresholdMarketer()
Return marketer risk threshold, 1 if there is none
|
double |
getRiskThresholdProsecutor()
Return journalist risk threshold, 1 if there is none
|
double |
getSignificanceLevel()
Returns the specified significance level.
|
double |
getType1Error()
Returns the calculated type I error.
|
void |
initialize(DataManager manager,
ARXConfiguration config)
Override this to initialize the criterion.
|
boolean |
isAccurate()
Return true if the population has been modeled explicitly.
|
boolean |
isAnonymous(Transformation<?> node,
HashGroupifyEntry entry)
Implement this, to enforce the criterion.
|
boolean |
isLocalRecodingSupported()
Returns whether the criterion supports local recoding.
|
boolean |
isMinimalClassSizeAvailable()
If a privacy model provides a prosecutor risk threshold, it should override this method to enable optimizations
|
boolean |
isSubsetAvailable()
If a privacy model uses a data subset, it must overwrite this method
|
ElementData |
render()
Renders the privacy model
|
java.lang.String |
toString()
Returns a string representation.
|
getSubset, isHeuristicSearchSupported, isHeuristicSearchWithTimeLimitSupported, isMonotonicWithGeneralization, isMonotonicWithSuppression, isOptimalSearchSupported, isSampleBased
public KMap(int k, DataSubset subset)
k
- subset
- Research subsetpublic KMap(int k, double significanceLevel, ARXPopulationModel populationModel)
public KMap(int k, double significanceLevel, ARXPopulationModel populationModel, KMap.CellSizeEstimator estimator)
public KMap clone()
PrivacyCriterion
clone
in class PrivacyCriterion
public PrivacyCriterion clone(DataSubset subset)
PrivacyCriterion
clone
in class PrivacyCriterion
public DataSubset getDataSubset()
PrivacyCriterion
getDataSubset
in class PrivacyCriterion
public int getDerivedK()
public KMap.CellSizeEstimator getEstimator()
public int getK()
public int getMinimalClassSize()
PrivacyCriterion
getMinimalClassSize
in class PrivacyCriterion
public ARXPopulationModel getPopulationModel()
PrivacyCriterion
null
if there is none.getPopulationModel
in class PrivacyCriterion
public int getRequirements()
PrivacyCriterion
getRequirements
in class PrivacyCriterion
public double getRiskThresholdJournalist()
getRiskThresholdJournalist
in class PrivacyCriterion
public double getRiskThresholdMarketer()
getRiskThresholdMarketer
in class PrivacyCriterion
public double getRiskThresholdProsecutor()
getRiskThresholdProsecutor
in class PrivacyCriterion
public double getSignificanceLevel()
public double getType1Error()
public void initialize(DataManager manager, ARXConfiguration config)
PrivacyCriterion
initialize
in class PrivacyCriterion
config
- TODOpublic boolean isAccurate()
public boolean isAnonymous(Transformation<?> node, HashGroupifyEntry entry)
PrivacyCriterion
isAnonymous
in class PrivacyCriterion
node
- TODOpublic boolean isLocalRecodingSupported()
PrivacyCriterion
isLocalRecodingSupported
in class PrivacyCriterion
public boolean isMinimalClassSizeAvailable()
PrivacyCriterion
isMinimalClassSizeAvailable
in class PrivacyCriterion
public boolean isSubsetAvailable()
PrivacyCriterion
isSubsetAvailable
in class PrivacyCriterion
public ElementData render()
PrivacyCriterion
render
in class PrivacyCriterion
public java.lang.String toString()
PrivacyCriterion
toString
in class PrivacyCriterion