scikit-learn/scikit-learn — pull request #1359 by mbatchkarov (2012-11-12 18:34:46+00:00)
Title: Fixed bug with transform() method of ProjectedGradientNMF

The slice `X[j, :] ` is converted to an array (in `scipy.optimize.nnls`), which results in an empty tuple for the size of the slice when X is sparse. `scipy.optimize.nnls` then raises a `ValueError` claiming a vector is required. The problem only occurs when one invokes `fit` followed by a `transform`, which is what happens when `ProjectedGradientNMF` is used in a `Pipeline` which is passed on to `cross_validation.cross_val_score`.

I've added a statement demonstrating the problem to the unit test. Without the fix I am submitting, the unit test fails.