I am running SVM algorithm in R.It is taking long time to run the algorithm.I have system with 32GB RAM.How can I use that whole RAM memory to speed my process.
-
1$\begingroup$ This is very short on details, like your data size, how you're running it now, what parameters, etc. $\endgroup$– Sean OwenNov 18, 2014 at 16:47
-
$\begingroup$ Did you code the SVM yourself or are you using a function from a package? $\endgroup$– shadowtalkerNov 18, 2014 at 18:20
-
$\begingroup$ There seem to be no parallel implementations of SVM in R. The testing as one can guess, can be parallelized. See vikparuchuri.com/blog/parallel-r-model-prediction-building. $\endgroup$– NiteshNov 18, 2014 at 20:13
-
$\begingroup$ Data size is 10MB and I am running it on Revolution R 7.2.0 $\endgroup$– user3131969Nov 19, 2014 at 16:11
-
$\begingroup$ See a similar question on stats.se: stats.stackexchange.com/questions/825/… $\endgroup$– NiteshNov 20, 2014 at 23:32
2 Answers
I would add a comment but I do not have enough reputation points. I might suggest Using "R revolution open". It is a Build of R that includes a lot of native support for multi-core processing. I have not used it much as my computer is very old, but it is defiantly worth looking at. Plus it is free.
As far as I know there are no parallel implementations of SVM available directly in R. The benefit of running on RevolutionR is that it will parallelize the matrix computations through the use of the Intel MKL library. Since SVM relies on linear algebra you will achieve probably some performance gain.
Another option that you could try and which may lead to better results is using Spark and SparkR which could expose the SVM in MLib that is part of Spark. I have not tried this myself yet but if you are stuck this might help.