label_binarize#

sklearn.preprocessing.label_binarize(y, *, classes, neg_label=0, pos_label=1, sparse_output=False)#

二值化标签以一对多的方式进行。

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

此函数使得可以对一组已知预先的固定类标签进行这种转换。

Parameters:
y类数组或稀疏矩阵

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

classes形状为 (n_classes,) 的类数组

唯一持有每个类别的标签。

neg_labelint, 默认=0

必须用于编码负值的值。

pos_labelint, 默认=1

必须用于编码正值的值。

sparse_outputbool, 默认=False,

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

Returns:
Y形状为 (n_samples, n_classes) 的 {ndarray, 稀疏矩阵}

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

See also

LabelBinarizer

用于包装label_binarize功能的类, 允许独立于转换操作对类别进行拟合。

Examples

>>> 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]])