You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I encounter an error when anonymizing a fully suppressed dataset using the API, with similar behavior observed in the GUI.
Example to reproduce using the ARX GUI:
Import a fully suppressed dataset (all * values), applying generalization hierarchies with just one level *
Configured Profitability Prosecutor with suppression limit of 100%.
When attempting to anonymize, I get the message: Cannot anonymize data: Value (NaN) out of range [0,1]
Description of the API behavior:
The same issue appears to occur when using the API with Java.
Here is part of my logs:
Caused by: java.lang.IllegalStateException: Value (NaN) out of range [0,1]
at org.deidentifier.arx.metric.v2.MetricSDNMEntropyBasedInformationLoss.getEntropyBasedInformationLoss(MetricSDNMEntropyBasedInformationLoss.java:109)
at org.deidentifier.arx.criteria.ProfitabilityProsecutor.isAnonymous(ProfitabilityProsecutor.java:121)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.isPrivacyModelFulfilled(HashGroupify.java:758)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.analyzeWithEarlyAbort(HashGroupify.java:653)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.stateAnalyze(HashGroupify.java:447)
at org.deidentifier.arx.framework.check.TransformationChecker.check(TransformationChecker.java:217)
at org.deidentifier.arx.framework.check.TransformationChecker.check(TransformationChecker.java:170)
at org.deidentifier.arx.algorithm.FLASHAlgorithmImpl.traverse(FLASHAlgorithmImpl.java:128)
at org.deidentifier.arx.ARXAnonymizer.anonymize(ARXAnonymizer.java:777)
at org.deidentifier.arx.ARXAnonymizer.anonymize(ARXAnonymizer.java:226)
at org.deidentifier.arx.distributed.ARXWorkerLocal$1.call(Unknown Source)
at org.deidentifier.arx.distributed.ARXWorkerLocal$1.call(Unknown Source)
The text was updated successfully, but these errors were encountered:
This should be relatively easy to fix. Can you please investigate the semantics of the number [0, 1] usually returned from getEntropyBasedInformationLoss? Is it 0 for no information loss and 1 for maximum information loss, or the other way around (0 for maximum information loss and 1 for no information loss)? Please let me know here.
The GUI also "anonymizes" the dataset now without a message.
Most quality models have NaN or N/A values in the Quality models tab now. I do not know if this is expected behavior.
I encounter an error when anonymizing a fully suppressed dataset using the API, with similar behavior observed in the GUI.
Example to reproduce using the ARX GUI:
Import a fully suppressed dataset (all * values), applying generalization hierarchies with just one level *
Configured Profitability Prosecutor with suppression limit of 100%.
When attempting to anonymize, I get the message: Cannot anonymize data: Value (NaN) out of range [0,1]
Description of the API behavior:
The same issue appears to occur when using the API with Java.
Here is part of my logs:
Caused by: java.lang.IllegalStateException: Value (NaN) out of range [0,1]
at org.deidentifier.arx.metric.v2.MetricSDNMEntropyBasedInformationLoss.getEntropyBasedInformationLoss(MetricSDNMEntropyBasedInformationLoss.java:109)
at org.deidentifier.arx.criteria.ProfitabilityProsecutor.isAnonymous(ProfitabilityProsecutor.java:121)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.isPrivacyModelFulfilled(HashGroupify.java:758)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.analyzeWithEarlyAbort(HashGroupify.java:653)
at org.deidentifier.arx.framework.check.groupify.HashGroupify.stateAnalyze(HashGroupify.java:447)
at org.deidentifier.arx.framework.check.TransformationChecker.check(TransformationChecker.java:217)
at org.deidentifier.arx.framework.check.TransformationChecker.check(TransformationChecker.java:170)
at org.deidentifier.arx.algorithm.FLASHAlgorithmImpl.traverse(FLASHAlgorithmImpl.java:128)
at org.deidentifier.arx.ARXAnonymizer.anonymize(ARXAnonymizer.java:777)
at org.deidentifier.arx.ARXAnonymizer.anonymize(ARXAnonymizer.java:226)
at org.deidentifier.arx.distributed.ARXWorkerLocal$1.call(Unknown Source)
at org.deidentifier.arx.distributed.ARXWorkerLocal$1.call(Unknown Source)
The text was updated successfully, but these errors were encountered: