I think the name of this class should be changed, e.g., 'SVMLocalRandomSGD', to make it clear that this is a particular implementation of SVMs (whereby at each iteration we run SGD locally on a random sample of each partition and then average).  Similarly, alternative implementations should also have descriptive names, e.g., 'SVMLocalDisjointSGD', 'SVMParallelGradient', 'SVMLBFGS', SVMADMM', etc. 'This same comment holds for Logistic Regression.