Scikit学习多标签分类,从MultiLabelBinarizer找回标签

Ale*_*Ale 3 scikit-learn multilabel-classification

在多标签分类问题中,我使用MultiLabelBinarizer将我的20个文本标签转换为零和一的二进制列表。

经过预测,我得到了20个二进制值的列表,我想输出相应的文本标签。

我只是想知道MultiLabelBinarizer()是否提供返回转换,还是我应该手动进行转换。

Viv*_*mar 5

是的,MultiLabelBinarizer提供了一种名为的方法,该方法inverse_transform()会将二进制化的标签转换回期间提供给它的原始名称fit()

http://scikit-learn.org/stable/modules/generation/sklearn.preprocessing.MultiLabelBinarizer.html#sklearn.preprocessing.MultiLabelBinarizer.inverse_transform

inverse_transform(yt)

Transform the given indicator matrix into label sets
Parameters:   

yt : array or sparse matrix of shape (n_samples, n_classes)

    A matrix containing only 1s ands 0s.

Returns:  

y : list of tuples

    The set of labels for each sample such that y[i] consists of classes_[j] for each yt[i, j] == 1.
Run Code Online (Sandbox Code Playgroud)