[MRG] Sparse One vs. Rest

This is a PR for the other parts in PR #2458 concerning sparse output support for the ovr classier. This branch was made off of the sprs-lbl-bin branch from PR #3203 and will be rebased to remove all the sparse label binarizer additions from the diff once the pull request is merged.

Benchmark Experiments using PR #2828 for data generation:
- [x] ```fit_ovr```: ```sparse_output=True``` VS. ```sparse_output=sp.issparse(y)```
- [x] ```fit_ovr``` With input as CSR matrix: Cast to CSC before column extraction VS. Leave as CSR
- [x] Memory profiling for sparse vs. dense target data
- [x] Test the changes to label.py
- [x] Test probability and desicion functions after fitting on sparse target data
- [x] Memory benchmark with ```njobs != 1```
It's a geeky way of asking you to replace something with something else
based on regular expression substitutions (I believe it's sed syntax?)
s/a/b/ just means "substitute b for a here"


On Tue, Jul 15, 2014 at 5:56 PM, hamsal <notifications@github.com> wrote:

> In sklearn/preprocessing/tests/test_label.py:
>
> > @@ -467,6 +467,15 @@ def test_label_binarize_binary():
> >
> >      yield check_binarized_results, y, classes, pos_label, neg_label, expected
> >
> > +    # Binary case where sparse_output = True will no result in a Value Error
>
> no -> not,
> Value Error -> ValueError.
> I am unsure what "s/" is referring to.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/scikit-learn/scikit-learn/pull/3276/files#r14944203>.
>