maxframe.learn.preprocessing.LabelBinarizer#
- class maxframe.learn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[源代码]#
以一对多的方式二值化标签。
scikit-learn 中提供了多种回归和二分类算法。将这些算法扩展到多类分类问题的一个简单方法是使用所谓的一对多方案。
在学习阶段,这只需要为每个类别训练一个回归器或二分类器。为此,需要将多类标签转换为二值标签(属于或不属于该类别)。LabelBinarizer 通过 transform 方法使这一过程变得简单。
在预测阶段,将分配置信度最高的模型对应的类别。LabelBinarizer 通过 inverse_transform 方法使这一过程变得简单。
更多内容请参阅 用户指南。
- 参数:
- classes_#
保存每个类别的标签。
- 类型:
形状为 (n_classes,) 的 ndarray
- y_type_#
表示目标数据的类型,由 utils.multiclass.type_of_target 确定。可能的类型包括 'continuous'、'continuous-multioutput'、'binary'、'multiclass'、'multiclass-multioutput'、'multilabel-indicator' 和 'unknown'。
- 类型:
示例
>>> from maxframe.learn import preprocessing >>> lb = preprocessing.LabelBinarizer() >>> lb.fit([1, 2, 6, 4, 2]) LabelBinarizer() >>> lb.classes_.execute() array([1, 2, 4, 6]) >>> lb.transform([1, 6]).execute() array([[1, 0, 0, 0], [0, 0, 0, 1]])
二分类目标转换为列向量
>>> lb = preprocessing.LabelBinarizer() >>> lb.fit_transform(['yes', 'no', 'no', 'yes']).execute() array([[1], [0], [0], [1]])
传递一个二维矩阵用于多标签分类
>>> import numpy as np >>> lb.fit(np.array([[0, 1, 1], [1, 0, 0]])) LabelBinarizer() >>> lb.classes_.execute() array([0, 1, 2]) >>> lb.transform([0, 1, 2, 1]).execute() array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]])
参见
label_binarize用于执行 LabelBinarizer 的 transform 操作并固定类别的函数。
OneHotEncoder使用 one-hot(也称为 one-of-K)方案对分类特征进行编码。
方法
__init__(*[, neg_label, pos_label, ...])execute([session, run_kwargs, extra_tileables])fetch([session, run_kwargs])fit(y[, check, execute, session, run_kwargs])拟合标签二值化器。
fit_transform(y[, check, execute, session, ...])拟合标签二值化器并将多类标签转换为二进制标签。
inverse_transform(Y[, threshold])将二进制标签转换回多类标签。
transform(y[, check, execute, session, ...])将多类标签转换为二进制标签。