This is not an appropriate way to do this. _predict_binary(e, X) returns dense data, and there are unlikely to be many zeros. Putting it in a COO matrix will triple its memory consumption.

However, I don't think you can do this using `LabelBinarizer.inverse_transform`. If `inverse_transform` is to accept a sparse input, it has to be assumed thresholded already. I think the way to do this is to create a new `LabelBinarizer` method that does the thresholding only, without the inverse transformation, but it performs the thresholding over an iterator of columns, so that each column can be thresholded and sparsified.

This would be a non-trivial change, but the current approach is just not feasible.