label_binarize#

sklearn.preprocessing.label_binarize(y, *, classes, neg_label=0, pos_label=1, sparse_output=False)[原始碼]#

以一對多的方式二元化標籤。

scikit-learn 中提供了幾種迴歸和二元分類演算法。將這些演算法擴展到多類分類案例的一種簡單方法是使用所謂的一對多方案。

此函式可以計算針對預先知道的一組固定類別標籤的這種轉換。

參數:
y類陣列或稀疏矩陣

要編碼的整數標籤或多標籤資料序列。

classes形狀為 (n_classes,) 的類陣列

唯一保存每個類別的標籤。

neg_label整數,預設值為 0

必須編碼負標籤的值。

pos_label整數,預設值為 1

必須編碼正標籤的值。

sparse_output布林值,預設值為 False,

如果希望輸出二元陣列為 CSR 稀疏格式,則設定為 True。

傳回值:
Y形狀為 (n_samples, n_classes) 的 {ndarray, 稀疏矩陣}

對於二元問題,形狀將為 (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]])