sklearn.preprocessing.label_binarize

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

[源码]

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

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

此功能可以为预先知道的一组固定的类标签计算此转换。

参数 说明
y array-like
要编码的整数标签或多标签数据的序列。
classes array-like of shape [n_classes]
唯一地保存每个类的标签。
neg_label int (default: 0)
负标签必须编码的值。
pos_label int (default: 1)
必须对正标签进行编码的值。
sparse_output boolean (default: False),
如果需要以CSR稀疏格式输出二进制数组,则设置为true
属性 说明
Y numpy array or CSR matrix of shape [n_samples, n_classes]
对于二进制问题,形状将为[n_samples,1]。

另见:

LabelBinarizer

用于包装label_binarize功能的类,并允许独立于转换操作而适合于类

示例

>>> from sklearn.preprocessing import label_binarize
>>> label_binarize([16], classes=[1246])
array([[1000],
       [0001]])

类的顺序被保留:

>>> label_binarize([16], classes=[1642])
array([[1000],
       [0100]])

二元目标转换为列向量

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

sklearn.preprocessing.label_binarize使用示例