mi-erasmusmc / Explore

Finding a short and accurate decision rule in disjunctive normal form by exhaustive search
https://mi-erasmusmc.github.io/Explore/
1 stars 1 forks source link

Unexpected behavior when running with constraints #23

Open AniekMarkus opened 1 month ago

AniekMarkus commented 1 month ago

Rerunning mix_4.project, rule length=3 with constraint balancedAccuracy=0.5:

AniekMarkus commented 1 month ago

Does not occur for other types of constraints?

Accuracy=0.7: Total Count Cutoff Sets:2194 Total Count Candidates (incl constraints):705

Specificity=0.8 Total Count Cutoff Sets:2194 Total Count Candidates (incl constraints):630

AniekMarkus commented 1 month ago

With balanced accuracy constraint on Mac:

expression failed to parse: error: <user expression 0>:1:1: use of undeclared identifier 'CurrentCondition' CurrentCondition->NextSame ^

(problem does not occur in Linux)

AniekMarkus commented 1 month ago

OutputMethod=EVERY -> all candidate rules OutputMethod=INCREMENT -> found new candidates rules OutputMethod=BEST-> final best candidates rule -> Printing does work in parallel (with constraints)

PrintCutoffSets=yes -> all generated rules -> Printing does not work in parallel

AniekMarkus commented 1 month ago

Output C++ Balanced Accuracy >= 0.6 (min and max length = 3)

Best length: 3 Best candidate: '198124209' = "TRUE" OR '316139209' = "TRUE" OR '316139210' = "TRUE" Performance learn-set: SE:39.11 SP:86.25 ACC:81.81 PPV:22.83 NPV:93.16 B_ACC:62.68 F1:28.83

Total Count Combinations:3 Total Count Feature Operator Pairs:70 Total Count Cutoff Sets:1940 Total Count Candidates (incl constraints):36