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
In 10) we check {a, b} -> {c, d} although 4) {a, b, c} -> {d} (conf: 0.500) is already below the confidence threshold of 1.0.
Even the docstring says that it is not necessary to check 10) due to confidence-based pruning.
(In my fork, I added a few print statements to easily track what's being done for this very example in h_1_mwe.py)
Tasks
confirm that this behavior is not intended
find a way to prune H_1 properly
test whether it brings any speed improvement
The text was updated successfully, but these errors were encountered:
Great job writing this clear issue @selting ! Thanks a lot! Do you have time to investigate further and propose a solution? If not I will try to take a look at it when I have the time, which might not be any time soon.
If I find the time, I will happily give it a try. But similarly to you, this might take a while. The issue is just performance-related, so I guess it's not crucial to fix it immediately.
Ok, let's do this the proper way. My PR #44 was not working because I prematurely tried to fix something that I did not fully understand.
Description
When generating rule candidates with 1-item consequents, no pruning is applied. This leads to unnecessary confidence computations for candidates that are below the confidence threshold.
Minimum Working Example
Going from the docstring for generate_rules_apriori, the following example will generate unnecessary candidates
When deriving rules of size 4, all of these candidates are being checked:
In 10) we check
{a, b} -> {c, d}
although 4){a, b, c} -> {d} (conf: 0.500)
is already below the confidence threshold of1.0
.Even the docstring says that it is not necessary to check 10) due to confidence-based pruning.
(In my fork, I added a few print statements to easily track what's being done for this very example in
h_1_mwe.py
)Tasks
The text was updated successfully, but these errors were encountered: