[scikit-learn] Sparse predict_proba and Fenchel-Young losses

Mathieu Blondel mathieu at mblondel.org
Tue Oct 23 09:10:49 EDT 2018


Hi,

Most scikit-learn users who need predict_proba use the logistic regression
class. We've released a new package implementing more loss functions useful
for probabilistic classification.

https://github.com/mblondel/fenchel-young-losses/

This is based on our recently proposed family of loss functions called
"Fenchel-Young losses" [*].

Two distinguishing features that should be of interest:

1) You can call fit(X, Y) where Y is a n_samples array of label integers
*or* Y is a n_samples x n_classes array containing *label proportions*.

2) predict_proba(X) is able to output *sparse* probabilities for some
choices of loss functions (loss="sparsemax" or loss="tsallis"). This means
that some classes may get *exactly* zero probability.

Both features are especially useful in a multi-label setting.

We've also released drop-in replacements for PyTorch and Tensorflow loss
functions in the same package.

Feedback welcome!

Cheers,
Mathieu

[*] https://arxiv.org/abs/1805.09717
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20181023/f164d4ce/attachment.html>


More information about the scikit-learn mailing list