當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn LabelBinarizer用法及代碼示例


本文簡要介紹python語言中 sklearn.preprocessing.LabelBinarizer 的用法。

用法:

class sklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)

以one-vs-all 方式對標簽進行二值化。

scikit-learn 中提供了多種回歸和二元分類算法。將這些算法擴展到多類分類情況的一個簡單方法是使用所謂的one-vs-all方案。

在學習時,這隻是為每個類別學習一個回歸器或二元分類器。這樣做時,需要將多類標簽轉換為二進製標簽(屬於或不屬於該類)。 LabelBinarizer 使用變換方法使此過程變得簡單。

在預測時,我們會分配相應模型給出最大置信度的類別。 LabelBinarizer 使用 inverse_transform 方法可以輕鬆實現這一點。

在用戶指南中閱讀更多信息。

參數

neg_label整數,默認=0

必須對否定標簽進行編碼的值。

pos_label整數,默認=1

必須對正標簽進行編碼的值。

sparse_output布爾,默認=假

如果希望從變換返回的數組采用稀疏 CSR 格式,則為真。

屬性

classes_ndarray 形狀 (n_classes,)

保存每個類的標簽。

y_type_str

表示由 utils.multiclass.type_of_target 評估的目標數據的類型。可能的類型是‘continuous’、‘continuous-multioutput’、‘binary’, ‘multiclass’、‘multiclass-multioutput’、‘multilabel-indicator’和‘unknown’。

sparse_input_bool

如果要轉換的輸入數據以稀疏矩陣的形式給出,則為 True,否則為 False。

例子

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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.preprocessing.LabelBinarizer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。