I’m trying to train a set of ~30,000 instances using an SMO classifier with an RBFKernel in Weka. I’m using grid search to find the optimal values for the parameters C and gamma. Here is my configuration:
weka.classifiers.meta.GridSearch -E ACC -y-property classifier.kernel.gamma -y-min -10.0 -y-max 5.0 -y-step 1.0 -y-base 10.0 -y-expression pow(BASE,I) -filter weka.filters.AllFilter -x-property classifier.c -x-min 5.0 -x-max 20.0 -x-step 1.0 -x-base 10.0 -x-expression I -sample-size 100.0 -traversal COLUMN-WISE -num-slots 1 -S 1 -W weka.classifiers.functions.SMO -- -C 1.0 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 -K "weka.classifiers.functions.supportVector.RBFKernel -C 250007 -G 0.01"
I let it run for > 9 hours with no result, Weka’s status message remains as “Building model on training data…”. At first I thought grid search was the problem, but when I tried to train using the default values for C and gamma without performing a grid search I got the same result. I tried using a PolyKernel instead and the classifier was trained in a couple of seconds (but not in grid search).
How can I get the RBFKernel to work (using the default values and in grid search)?
This is what worked for me:
XExpression = pow(BASE,I),XMin = -5,XMax = 5,XStep = 1andXBase = 10(same for Y).DistributionBasedBalancefilter withpset to some value.numExecutionSlotsto 4 (the number of cores in my machine).