当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn MultiLabelBinarizer用法及代码示例


本文简要介绍python语言中 sklearn.preprocessing.MultiLabelBinarizer 的用法。

用法:

class sklearn.preprocessing.MultiLabelBinarizer(*, classes=None, sparse_output=False)

在可迭代的迭代和多标签格式之间进行转换。

尽管集合或元组列表是多标签数据的一种非常直观的格式,但处理起来很笨拙。这个转换器在这种直观的格式和支持的多标签格式之间进行转换:一个(样本 x 类)二进制矩阵,指示类标签的存在。

参数

classes形状类似数组 (n_classes,),默认=无

指示类标签的排序。所有条目都应该是唯一的(不能包含重复的类)。

sparse_output布尔,默认=假

如果需要 CSR 稀疏格式的输出二进制数组,则设置为 True。

属性

classes_ndarray 形状 (n_classes,)

classes 参数的副本(如果提供)。否则,它对应于拟合时找到的已排序的类集。

例子

>>> from sklearn.preprocessing import MultiLabelBinarizer
>>> mlb = MultiLabelBinarizer()
>>> mlb.fit_transform([(1, 2), (3,)])
array([[1, 1, 0],
       [0, 0, 1]])
>>> mlb.classes_
array([1, 2, 3])
>>> mlb.fit_transform([{'sci-fi', 'thriller'}, {'comedy'}])
array([[0, 1, 1],
       [1, 0, 0]])
>>> list(mlb.classes_)
['comedy', 'sci-fi', 'thriller']

一个常见的错误是传入一个列表,这会导致以下问题:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit(['sci-fi', 'thriller', 'comedy'])
MultiLabelBinarizer()
>>> mlb.classes_
array(['-', 'c', 'd', 'e', 'f', 'h', 'i', 'l', 'm', 'o', 'r', 's', 't',
    'y'], dtype=object)

为了纠正这个问题,标签列表应该传递为:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit([['sci-fi', 'thriller', 'comedy']])
MultiLabelBinarizer()
>>> mlb.classes_
array(['comedy', 'sci-fi', 'thriller'], dtype=object)

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.preprocessing.MultiLabelBinarizer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。