Scikit Learn 多标签分类,从 MultiLabelBinarizer 取回标签

Scikit Learn Multilabel Classification, Getting back labels from MultiLabelBinarizer

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

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

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

是的,MultiLabelBinarizer 提供了一个名为 inverse_transform() 的方法,它将二值化标签转换回在 fit() 期间提供给它的原始名称。

http://scikit-learn.org/stable/modules/generated/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.