Details
Description
Hi folks, thanks for Spark!
I've been learning to use `ml` and `mllib`, and I've encountered a block while trying to use `ml.classification.OneVsRest` with `ml.classification.LogisticRegression`. Basically, here in the code, only two columns are being extracted and fed to the underlying classifiers.. however with some configurations, more than two columns are required.
Specifically: I want to do multiclass learning with Logistic Regression, on a very imbalanced dataset. In my dataset, I have lots of imbalances, so I was planning to use weights. I set a column, `"weight"`, as the inverse frequency of each field, and I configured my `LogisticRegression` class to use this column, then put it in a `OneVsRest` wrapper.
However, `OneVsRest` strips all but two columns out of a dataset before training, so I get an error from within `LogisticRegression` that it can't find the `"weight"` column.
It would be nice to have this fixed! I can see a few ways, but a very conservative fix would be to include a parameter in `OneVsRest.fit` for additional columns to `select` before passing to the underlying model.
Thanks!