generalization of CSV dataset + shuffle feature

Rebased + added some features: https://github.com/lisa-lab/pylearn2/pull/1072
In my opinion it does not make sense to have 1D, but I'm a non her... :D
In this case only num_outputs or num_targets would be added

Sent from my iPhone

> On 28 Aug 2014, at 05:45, Pascal Lamblin <notifications@github.com> wrote:
> 
> In pylearn2/datasets/csv_dataset.py:
> 
> > -    delimiter : The CSV file's delimiter.
> > -    start : The first row of the CSV file to load.
> > -    stop : The last row of the CSV file to load.
> > -    start_fraction: The fraction of rows, starting at the beginning of the file, to load.
> > -    end_fraction: The fraction of rows, starting at the end of the file, to load.
> > +    task : str, optional
> > +        The type of task in which the dataset will be used -- either "classification" or "regression".
> > +        The task determines the shape of the target variable.  For classification, it is a vector; for regression,
> > +        a matrix.
> > +    one_hot : DEPRECATED. Whether the target variable (i.e. "label") should be encoded as a one-hot vector.
> > +    one_dim_target: boolean, optional
> > +        Whether the target is 1 dimensional or more.
> > +    num_outputs : int, optional
> > +        number of target variables. defaults to 1
> > +    expect_labels : bool, optional
> > +        Whether the CSV file contains a target variable in the first column.
> I think adding two options on top of expect_labels is too much: there should be a way to refactor that into fewer options, especially because most of combinations do not make sense.
> Also, we should probably specify explicitly the number of class labels if we are doing classification.
> The case of the 1D targets is not as clear as I thought, so we may not need to support it in the end.
> 
> —
> Reply to this email directly or view it on GitHub.