Re: [Scikit-learn-general] ElasticNet for classification

2014-07-25 Thread Andy
On 07/23/2014 03:21 AM, Mathieu Blondel wrote: from sklearn.multiclass import OneVsRestClassifier clf = OneVsRestClassifier(ElasticNet()) But that would be trained using rmse loss. Why would you do that if we have logistic loss and hinge loss in SGDClassifier? should work. This is tested her

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Mathieu Blondel
On Fri, Jul 25, 2014 at 1:46 AM, Alexandre Gramfort < [email protected]> wrote: > > indeed but squared loss is cheap to use and can reach pretty good > classif performance in practice. > Indeed the squared loss works surprisingly well in practice for classification and it ha

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Alexandre Gramfort
> But SGDClassifier optimizes classification-specific loss functions, > unlike ElasticNet which is a regressor. indeed but squared loss is cheap to use and can reach pretty good classif performance in practice. A -- Want

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Sheila the angel
>From the last few answers it seems that SGDClassifier is more appropriate for classification using ElasticNet. Although this link www.datarobot.com/blog/regularized-linear-regression-with-scikit-learn/ says "Regularization path plots can be efficiently created using coordinate descent optimizat

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Vlad Niculae
But SGDClassifier optimizes classification-specific loss functions, unlike ElasticNet which is a regressor. Correct me if i'm wrong, but wrapping ElasticNet in a OvR fashion doesn't lead to the same thing, and SGDClassifier would generally be more appropriate for classification in my opinion. My 2

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Alexandre Gramfort
> But now it makes me think - > How OneVsRestClassifier approach is different then SGDClassifier? > Is SGDClassifier an optimization algorithm which also uses > OneVsRestClassifier for classification? yes SGDClassifier uses OvR internally. A --

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Sheila the angel
I think I found the answer. The class score can be obtained using clf.decision_function(X) But now it makes me think - How OneVsRestClassifier approach is different then SGDClassifier? Is SGDClassifier an optimization algorithm which also uses OneVsRestClassifier for classification? On 24 Ju

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Alexandre Gramfort
> So how do I obtain the class probability along with classification? you help me finish : https://github.com/scikit-learn/scikit-learn/pull/1176 :) Alex -- Want fast and easy access to all the code in your enterprise?

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-24 Thread Sheila the angel
Thank you all. I tried the OneVsRestClassifier as iris = datasets.load_iris() X = iris.data y = iris.target X /= X.std(0) clf = OneVsRestClassifier(ElasticNet(alpha=0.25, l1_ratio=0.5)).fit(X,y) y_pred = clf.predict(X) This works however clf.predict_proba(X) gives error AttributeError:

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Mathieu Blondel
from sklearn.multiclass import OneVsRestClassifier clf = OneVsRestClassifier(ElasticNet()) should work. This is tested here: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tests/test_multiclass.py#L168 For setting the parameters by grid-search, you need to use the "estimator__

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Michael Eickenberg
Conflicting messages, no, there is no explicit ElasticNetClassifier, but Manoj's proposition creates one: Concerning Manoj's point 2), you may also want to trying weighting in a different way, by centering the target variable y, i.e. if y is in {-1, 1}, then do y <- y - y.mean(). This can help wit

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Vlad Niculae
Hi, The SGDClassifier supports elastic net regularization. You can make it solve the SVM loss function or the logistic loss function by changing the `loss=` parameter. Hope this helps, Vlad On Tue, Jul 22, 2014 at 4:17 PM, Sheila the angel wrote: > Hello All, > > Is it possible to perform class

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Andy
Hi. You can not use the ElasticNet regressor for classification. You can, however, use the SGDClassifier, which also supports elastic net regularization. Cheers, Andy On 07/22/2014 03:17 PM, Sheila the angel wrote: Hello All, Is it possible to perform classification using linear models such

Re: [Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Manoj Kumar
Hello, I am new too, but I think you can do a OvA for these type of problems, 1. Loop across all labels. 2. For each label, convert y into data containing 1 and -1, i.e all the labels other then the current class should be -1 (Hence the name) 3. And then predict, using clf.predict(X) For each s

[Scikit-learn-general] ElasticNet for classification

2014-07-22 Thread Sheila the angel
Hello All, Is it possible to perform classification using linear models such as ElasticNet? I tried the following - from sklearn.linear_model import ElasticNet iris = datasets.load_iris() X= iris.data y= iris.target clf= ElasticNet() clf.fit(X,y).predict(X[0]) Which gives output value

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Matthias Ekman
thanks guys. That makes sense! Best, Matthias On 2/27/12 10:52 AM, Gael Varoquaux wrote: > On Mon, Feb 27, 2012 at 10:49:36AM +0100, Olivier Grisel wrote: >> Why alpha and rho to 0? Usual rho is good around 0.8 and alpha should >> be adjusted by grid search. > We are both bots tuned to respond

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Mathieu Blondel
On Mon, Feb 27, 2012 at 6:15 PM, Olivier Grisel wrote: > Cool, I did not know that the binary case was handled as well. Actually most of the logic is in LabelBinarizer. >>> from sklearn.preprocessing import LabelBinarizer >>> lb = LabelBinarizer() >>> lb.fit_transform([1, 2, 2, 2]) array([[ 0.]

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Gael Varoquaux
On Mon, Feb 27, 2012 at 10:49:36AM +0100, Olivier Grisel wrote: > Why alpha and rho to 0? Usual rho is good around 0.8 and alpha should > be adjusted by grid search. We are both bots tuned to respond the same way, to the same situations, as proven also on http://metaoptimize.com/qa/questions/933

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Olivier Grisel
2012/2/27 Matthias Ekman : > thanks for all the helpful remarks! That's exactly what I wanted to > know. However I am a bit surprised by the low performance of Elastic Net > in comparison to logit (both using L1 regularization and test/training > on the full dataset). Am I overseeing something obvi

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Gael Varoquaux
On Mon, Feb 27, 2012 at 10:46:40AM +0100, Matthias Ekman wrote: > clf = OneVsRestClassifier(ElasticNet(alpha=0., rho=0.)) > y_pred = clf.fit(X,y).predict(X) > print 'acc enet:',zero_one_score(y,y_pred)*100 alpha=0: you are not regularizing at all! In general, it doesn't make much sens to use a le

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Matthias Ekman
thanks for all the helpful remarks! That's exactly what I wanted to know. However I am a bit surprised by the low performance of Elastic Net in comparison to logit (both using L1 regularization and test/training on the full dataset). Am I overseeing something obvious here? acc enet: 69.0 acc lo

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Gael Varoquaux
On Mon, Feb 27, 2012 at 10:06:39AM +0100, Matthias Ekman wrote: > I guess my question was more on how to force the fit method to learn a > binary output. Using my code below, it assumes a regression problem. How > do I use Elastic Net for classification in practice? Subclass the ElasticNet class

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Olivier Grisel
2012/2/27 Mathieu Blondel : > On Mon, Feb 27, 2012 at 6:06 PM, Matthias Ekman > wrote: > >> do I use Elastic Net for classification in practice? > > from sklearn.multiclass import OneVsRestClassifier > > clf = OneVsRestClassifier(ElasticNet(alpha=0.1, rho=0.7)) > > will work even for binary classi

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Mathieu Blondel
On Mon, Feb 27, 2012 at 6:06 PM, Matthias Ekman wrote: > do I use Elastic Net for classification in practice? from sklearn.multiclass import OneVsRestClassifier clf = OneVsRestClassifier(ElasticNet(alpha=0.1, rho=0.7)) will work even for binary classification. Mathieu ---

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Olivier Grisel
You can derive the class and override the predict method: class ElasticNetClassifier(ElasticNet): def predict(self, X): return (super(ElasticNetClassifier, self).predict(X) > 0).astype(np.int) Disclaimer: untested code. -- Olivier http://twitter.com/ogrisel - http://github.com/ogri

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Alexandre Gramfort
 0.95313608,  0.8440819 ,  0.70941904,  0.89329322, >         0.83442053,  0.87300031,  0.88846253,  0.67117279,  0.86768454]) > > > > On 2/26/12 5:27 PM, [email protected] > wrote: >> -- >> >

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-27 Thread Matthias Ekman
.88846253, 0.67117279, 0.86768454]) On 2/26/12 5:27 PM, [email protected] wrote: > -- > > Message: 5 > Date: Fri, 24 Feb 2012 18:18:15 +0100 > From: Alexandre Gramfort > Subject: Re: [Scikit-learn-general] ElasticN

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-24 Thread Olivier Grisel
Yes and if you want multi class support you can use the sklearn.multiclass wrappers on them too. I would be interested to learn about any feedback where those models perform better / faster than the other sklearn classfiers. -- Olivier http://twitter.com/ogrisel - http://github.com/ogrisel

Re: [Scikit-learn-general] ElasticNet for classification?

2012-02-24 Thread Alexandre Gramfort
hi, you could even if the squared loss is not really natural for classification settings. I'd be surprised if it gives a better result that a sparse logistic regression for example. Alex On Fri, Feb 24, 2012 at 6:13 PM, Matthias Ekman wrote: > Hi, > > I was wondering is it possible to use the

[Scikit-learn-general] ElasticNet for classification?

2012-02-24 Thread Matthias Ekman
Hi, I was wondering is it possible to use the current implementation of ElasticNet or LARS also for classification instead of regression? Thanks, Matthias -- Virtualization & Cloud Management Using Capacity Planning C