标签二值化#

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

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

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

此函数允许针对预先知道的一组固定类标签计算此转换。

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

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

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

唯一地保存每个类的标签。

neg_label整数,默认为 0

必须使用该值来编码负标签。

pos_label整数,默认为 1

必须使用该值来编码正标签。

sparse_output布尔值,默认为 False

如果希望以 CSR 稀疏格式输出二元数组,则设置为 True。

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

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

另请参见

标签二值化器

用于封装 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]])