I'm -1 on this PR because densifying a sparse matrix behind the scenes is really not a good idea. I'd rather improve the error message to tell users to call `X = X.toarray()` in their script.