label_binarize#

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

以一对多方式将标签二值化。

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

此函数使得对于一组事先已知的固定类标签计算此转换成为可能。

参数:
yarray-like or sparse matrix

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

classesarray-like of shape (n_classes,)

唯一保存每个类的标签。

neg_labelint, default=0

用于编码负标签的值。

pos_labelint, default=1

用于编码正标签的值。

sparse_outputbool, default=False,

如果希望输出的二元数组采用 CSR 稀疏格式,则设置为 true。

返回:
Y{ndarray, sparse matrix} of shape (n_samples, n_classes)

对于二元问题,形状将为 (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]])