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