On 03/18/2012 05:07 PM, James Bergstra wrote: > On Sat, Mar 17, 2012 at 11:55 PM, Mathieu Blondel<[email protected]> > wrote: > >>> The alpha specified this way could (should?) have the same name and >>> interpretation as the l2_regularization coefficient in the >>> SGDClassifier. >>> >> Would you convert alpha into a C internal value or would you patch >> libsvm / liblinear to use alpha? I don't understand how the former >> would be different from the scale_C option, in practice. >> > In the implementation, I would convert it to C and call libsvm > similarly to how scale_C is working now. The reason that I piped up on > the list was purely for code readability. If I read > > svm = SVC(C=10) > > it really looks like svm is an SVM model with C=10. If there's a > implicit scale_C=True in the arguments, it's confusing. This caused > my code to have a bug, and I got annoyed. > > On the other hand if I had read > > svm = SVC(alpha=1e-3) > > then I would have wondered "what's alpha?" and gone to look up the > docs and learn how alpha is converted to C. > I see two possible remedies: - Having two different possible parameters, as James and I proposed earlier (and which Lars didn't seem to like much), where the user can specify either "C" or "alpha"
- Changing the "scale_C" option back to "False" by default. That means having different parameter names than other linear models and "inconsistent" cross-validation. Are there any other options? I totally feel with James as I really spend some time finding out that I now need to do grid-searches over "C" from 10**5 to 10**15 or something like that. ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
