Systems and methods automatically adjusting minimum support for routing mining
A method and system for dynamically determining a minimum support for automation mining is provided. The method and system include modifying the minimum support pattern such that the minimum support can result pattern mining algorithms finding a sufficient number of patterns in a practical duration.
1. A method for dynamically determining minimum support for automation mining, the method comprising:
receiving, via a computing device, a plurality of sequences;
initializing, via the computing device, a current support based on a number of the plurality of sequences;
initializing, via the computing device, a current number of patterns and a previous number of patterns to zero;
initializing, via the computing device, a previous support to zero;
(i) if the current number of patterns is greater than a predetermined threshold, then set the minimum support to current support otherwise, perform steps (ii) through (vii);
(ii) determining, via the computing device, a gradient based on the current number of patterns, the previous number of patterns, the current support and the previous support;
(iii) determining, via the computing device, a support reduction based on the gradient;
(iv) setting, via the computing device, the previous support to the current support;
(v) updating, via the computing device, the current support based on the support reduction;
(vi) setting, via the computing device, the previous number of patterns to the current number of patterns; and
(vii) determining, via the computing device, a current number of patterns based on the current support and continue to step (i).
2. The method of claim 1 wherein determining the current number of patterns further comprises calling a pattern mining algorithm.
3. The method of claim 2 wherein the pattern mining algorithm is one of Prefixspan, VMSP, or CloSpan.
4. The method of claim 2 wherein if the time it takes the pattern mining algorithm to run exceeds a predetermined threshold, setting the minimum support to the previous support.
5. The method of claim 1 further comprising setting the current support to a minimum support threshold if the current support is below the minimum support threshold.
6. The method of claim 1 wherein determining the support reduction is further based on a predetermined support step reduction value.
7. The method of claim 1 wherein updating the current support is further based on a predetermined minimum current support value.
8. The method of claim 1 wherein initializing the current support is further based on a percentage of number of the plurality of sequences.
9. The method of claim 1 further comprising determining an inverse gradient, and wherein the support reduction is based on the inverse gradient.
10. A non-transitory computer-program product having instructions that when executed cause a processor to:
receive a plurality of sequences;
initialize a current support based on a number of the plurality of sequences;
initialize a current number of patterns and a previous number of patterns to zero;
initialize a previous support to zero;
(i) if the current number of patterns is greater than a predetermined threshold, then set a minimum support to current support otherwise, perform steps (ii) through (vii);
(ii) determine a gradient based on the current number of patterns, the previous number of patterns, the current support and the previous support;
(iii) determine a support reduction based on the gradient;
(iv) set the previous support to the current support;
(v) update the current support based on the support reduction;
(vi) set the previous number of patterns to the current number of patterns; and
(vii) determine a current number of patterns based on the current support and continue to step (i).
11. The non-transitory computer program product of claim 10 wherein determining the current number of patterns further comprises calling a pattern mining algorithm.
12. The non-transitory computer program product of claim 11 wherein the pattern mining algorithm is one of Prefixspan, VMSP, or CloSpan.
13. The non-transitory computer program product of claim 11 wherein if the time it takes the pattern mining algorithm to run exceeds a predetermined threshold, setting the minimum support to the previous support.
14. The non-transitory computer program product of claim 10 further comprising instructions to cause the computer to set the current support to a minimum support threshold if the current support is below the minimum support threshold.
15. The non-transitory computer program product of claim 10 wherein determining the support reduction is further based on a predetermined support step reduction value.
16. The non-transitory computer program product of claim 10 wherein updating the current support is further based on a predetermined minimum current support value.
17. The non-transitory computer program product of claim 10 wherein initializing the current support is further based on a percentage of number of the plurality of sequences.
18. The non-transitory computer program product of claim 10 further comprising instructions that cause the computer to determine an inverse gradient, and wherein the support reduction is based on the inverse gradient.