-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Running ProfitabilityProsecutor with an already suppressed dataset (GUI and API) #457
Comments
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. |
0 for no information loss and 1 for maximum information loss |
Please check whether the recent commit 984f38f fixes the problem. |
My issue with the API is resolved. Thank you! The GUI also "anonymizes" the dataset now without a message. |
Are you sure that this is caused by this commit? Please check. |
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: