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(org.deidentifier.arx.framework.data.DataManager manager,
ARXConfiguration config)
Override this to initialize the criterion.
|
boolean |
isAccurate()
Return true if the population has been modeled explicitly.
|
boolean |
isAnonymous(org.deidentifier.arx.framework.lattice.Transformation<?> node,
org.deidentifier.arx.framework.check.groupify.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, isSampleBasedpublic 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()
PrivacyCriterionclone in class PrivacyCriterionpublic PrivacyCriterion clone(DataSubset subset)
PrivacyCriterionclone in class PrivacyCriterionpublic DataSubset getDataSubset()
PrivacyCriteriongetDataSubset in class PrivacyCriterionpublic int getDerivedK()
public KMap.CellSizeEstimator getEstimator()
public int getK()
public int getMinimalClassSize()
PrivacyCriteriongetMinimalClassSize in class PrivacyCriterionpublic ARXPopulationModel getPopulationModel()
PrivacyCriterionnull if there is none.getPopulationModel in class PrivacyCriterionpublic int getRequirements()
PrivacyCriteriongetRequirements in class PrivacyCriterionpublic double getRiskThresholdJournalist()
getRiskThresholdJournalist in class PrivacyCriterionpublic double getRiskThresholdMarketer()
getRiskThresholdMarketer in class PrivacyCriterionpublic double getRiskThresholdProsecutor()
getRiskThresholdProsecutor in class PrivacyCriterionpublic double getSignificanceLevel()
public double getType1Error()
public void initialize(org.deidentifier.arx.framework.data.DataManager manager,
ARXConfiguration config)
PrivacyCriterioninitialize in class PrivacyCriterionconfig - TODOpublic boolean isAccurate()
public boolean isAnonymous(org.deidentifier.arx.framework.lattice.Transformation<?> node,
org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
PrivacyCriterionisAnonymous in class PrivacyCriterionnode - TODOpublic boolean isLocalRecodingSupported()
PrivacyCriterionisLocalRecodingSupported in class PrivacyCriterionpublic boolean isMinimalClassSizeAvailable()
PrivacyCriterionisMinimalClassSizeAvailable in class PrivacyCriterionpublic boolean isSubsetAvailable()
PrivacyCriterionisSubsetAvailable in class PrivacyCriterionpublic ElementData render()
PrivacyCriterionrender in class PrivacyCriterionpublic java.lang.String toString()
PrivacyCriteriontoString in class PrivacyCriterion