So I've been running FPGrowth_association_rules for ~20 hours when I ran out of heap space. The error message produced is: java.lang.OutOfMemoryError: Java heap space .
The parameters given were minsup = 0.5%, minconfidence = 50%.
The size of the original dataset is:
344 000 rows x 946 columns
There are 946 unique items.
When converted to the input format that SPMF takes, the file is ~49M,
It appears that heap size can be increased using the "-Xmx" flag when executing the algorithm. But I'm not so sure what would be a reasonable size for the heap. How would you estimate a reasonable amount for the heap space?
On another note, is there a way to estimate the running time of the algorithm? It seems like it would be the running time to construct and traverse the FP-tree, but it goes way faster when minsup is increased. For example, it is almost instantaneous when minsup >50%, around 10 minutes when minsup = 25%, and >20hours for minsup = 0.5%.
The complete error log is this:
Quote
An error while trying to run the algorithm.
ERROR MESSAGE = java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.FPTree.<init>(FPTree.java:48)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:348)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.fpgrowth(AlgoFPGrowth.java:360)
at ca.pfv.spmf.algorithms.frequentpatterns.fpgrowth.AlgoFPGrowth.runAlgorithm(AlgoFPGrowth.java:199)
at ca.pfv.spmf.algorithmmanager.descriptions.DescriptionAlgoFPGrowthAssociationRules.runAlgorithm(DescriptionAlgoFPGrowthAssociationRules.jav
a:73)
at ca.pfv.spmf.gui.CommandProcessor.runAlgorithm(CommandProcessor.java:386)
at ca.pfv.spmf.gui.Main.processCommandLineArguments(Main.java:128)
at ca.pfv.spmf.gui.Main.main(Main.java:54)