2012/2/16 Mathieu Blondel <[email protected]>: > On Thu, Feb 16, 2012 at 3:43 PM, David Warde-Farley > <[email protected]> wrote: > >> I would stress that such an implementation would have to be extremely well >> tested and checked against libsvm/liblinear in all of the relevant cases >> (obviously, can't check against a float32 case if liblinear doesn't support >> float32, etc.) > > I believe a Cython port is not that risky if the programmer is well > organized. I would focus on one solver at a time and would write a > battery of tests to check the reimplementation against the binding. We > should be able to reuse (one-vs-rest) or factor out (platt's algorithm > for probabilistic output) some code too.
True. >> Moving away from wrappers has one social disadvantage: street cred. NumPy >> and SciPy linear algebra routines are trusted because they are, in most >> cases, wrappers around battle-hardened Fortran routines that are as old as >> the hills. libsvm and liblinear have reputations that a hypothetical >> reimplementation effort does not. While SKL is accumulating quite a positive >> reputation, a flaky SVM rewrite would be a quick way to undo that. > > The reimplementation can be advertised as a "faithful rewrite in > Cython". This has been done in Java in the past. Agreed but personally I would rather see such a GSoC student spend time on writing a cython version of the LaSVM algorithm which looks much more scalable than libsvm: http://leon.bottou.org/projects/lasvm Although solving for approximate solution. -- Olivier http://twitter.com/ogrisel - http://github.com/ogrisel ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
