label_binarize#

sklearn.preprocessing.label_binarize(y, *, classes, neg_label=0, pos_label=1, sparse_output=False)[源代码]#

以one-vs-all的方式二进制化标签。

scikit-learn中提供了多种回归和二元分类算法。将这些算法扩展到多类分类情况的简单方法是使用所谓的一对所有方案。

该函数使得可以为提前已知的固定类标签集计算此转换。

参数:
y类数组或稀疏矩阵

要编码的整标签或多标签数据序列。

classes形状类似阵列(n_classes,)

独特地持有每个类别的标签。

neg_labelint,默认=0

必须使用其编码负标签的值。

pos_labelint,默认=1

必须编码正标签的值。

sparse_outputbool,default=False,

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

返回:
Y形状(n_samples,n_classes)的{nd数组,稀疏矩阵}

对于二元问题,形状将为(n_samples,1)。稀疏矩阵将采用CSR格式。

参见

LabelBinarizer

类用于包装Label_binarize的功能,并允许独立于转换操作适应类。

示例

>>> from sklearn.preprocessing import label_binarize
>>> label_binarize([1, 6], classes=[1, 2, 4, 6])
array([[1, 0, 0, 0],
       [0, 0, 0, 1]])

类别顺序被保留:

>>> label_binarize([1, 6], classes=[1, 6, 4, 2])
array([[1, 0, 0, 0],
       [0, 1, 0, 0]])

二进制目标转换为列载体

>>> label_binarize(['yes', 'no', 'no', 'yes'], classes=['no', 'yes'])
array([[1],
       [0],
       [0],
       [1]])