Add SGD

SGD Classifier and Regressor added

The default parameters are:

```python
'alpha': [0.000001, 0.00001, 0.0001, 0.001, 0.01], 'penalty': ['l1', 'l2', 'elasticnet']
```
Oks.

Added. So now, our default lose function will be ‘log’

From: Dan Blanchard [mailto:notifications@github.com]
Sent: Wednesday, June 11, 2014 9:59 AM
To: EducationalTestingService/skll
Cc: Murrugarra Llerena, Nils E
Subject: Re: [skll] Add SGD (#118)


In skll/learner.py:

> @@ -427,13 +444,13 @@ def __init__(self, model_type, probability=False, feature_scaling='none',

>          elif self._model_type == 'SVR':

>              self._model_kwargs['cache_size'] = 1000

>              self._model_kwargs['kernel'] = 'linear'

> -

It looks like somewhere around here you're going to want to set self._model_kwargs['loss'] to either log or modified_huber for SGDClassifier, because getting probabilities is only supported with those loss types, and we typically want the prediction probabilities. It's currently failing unit tests for this reason, as you can see here<https://travis-ci.org/EducationalTestingService/skll/jobs/27310944>.

—
Reply to this email directly or view it on GitHub<https://github.com/EducationalTestingService/skll/pull/118/files#r13649842>.

________________________________

This e-mail and any files transmitted with it may contain privileged or confidential information. It is solely for use by the individual for whom it is intended, even if addressed incorrectly. If you received this e-mail in error, please notify the sender; do not disclose, copy, distribute, or take any action in reliance on the contents of this information; and delete it from your system. Any other use of this e-mail is prohibited.


Thank you for your compliance.

________________________________