madlib/madlib — pull request #197 by haying (2012-08-14 20:34:02+00:00)
Title: Added ridge regression, LASSO, linear SVM and logit

This pull request demonstrates how to add new modules based on generic convex module.

Again, over 7k lines are for a data set, that still leaves LOC ~ 4k, roughly 1k for each module. Modules that have more than 1 optimizers may have more LOC. Duplicate code is largely on defining SQL functions and transition states.

Review commit by commit is suggested.

Adding a baseline logistic regression based on linear svm is no much more than "sed 's/linear_svm/logit/g'. I have it done simply because it is too easy... It should offer some information to understand the generic convex module. If we really do not like to have duplicate logistic regress implementation, this can be ignored when pushing to madlib/madlib. But I suggest to keep it in madlib/madlib using a different SQL function name, since it seems the best way we (for now, Florian and I) can keep track of it.