mars.learn.preprocessing.LabelBinarizer#
- class mars.learn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[来源]#
以一对多的方式二值化标签。
在scikit-learn中有几种回归和二元分类算法。将这些算法扩展到多类分类情况的一个简单方法是使用所谓的“一对多”方案。
在学习阶段,这简单地包括为每个类别学习一个回归器或二元分类器。在此过程中,需要将多类标签转换为二元标签(属于该类别或不属于该类别)。LabelBinarizer 使用 transform 方法使这个过程变得简单。
在预测时,会为对应模型给出最大置信度的类别分配标签。LabelBinarizer使用inverse_transform方法使这变得容易。
在用户指南中阅读更多内容。
- Parameters
- classes_#
为每个类别持有标签。
- Type
形状为 (n_classes,) 的 ndarray
- y_type_#
表示目标数据的类型,该类型由 utils.multiclass.type_of_target 评估。可能的类型有“连续型”、“连续多输出”、“二元”、“多类”、“多类多输出”、“多标签指示器”和“未知”。
- Type
示例
>>> from mars.learn import preprocessing >>> lb = preprocessing.LabelBinarizer() >>> lb.fit([1, 2, 6, 4, 2]) LabelBinarizer() >>> lb.classes_ array([1, 2, 4, 6]) >>> lb.transform([1, 6]) array([[1, 0, 0, 0], [0, 0, 0, 1]])
二进制目标转变为列向量
>>> lb = preprocessing.LabelBinarizer() >>> lb.fit_transform(['yes', 'no', 'no', 'yes']) array([[1], [0], [0], [1]])
传递一个二维矩阵用于多标签分类
>>> import numpy as np >>> lb.fit(np.array([[0, 1, 1], [1, 0, 0]])) LabelBinarizer() >>> lb.classes_ array([0, 1, 2]) >>> lb.transform([0, 1, 2, 1]) array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]])
另请参阅
label_binarize函数用于执行具有固定类别的LabelBinarizer的变换操作。
OneHotEncoder使用一种热编码,也称为一种K方案,对分类特征进行编码。
方法
__init__(*[, neg_label, pos_label, ...])fit(y[, session, run_kwargs])适应标签二元化器。
fit_transform(y[, session, run_kwargs])拟合标签二值化器并将多类标签转换为二进制标签。
get_params([deep])获取该估计器的参数。
inverse_transform(Y[, 阈值])将二进制标签转换回多类标签。
set_params(**params)设置此估计器的参数。
transform(y[, session, run_kwargs])将多类标签转换为二进制标签。