sklearn.preprocessing.label_binarize?

sklearn.preprocessing.label_binarize(y, *, classes, neg_label=0, pos_label=1, sparse_output=False)

[源碼]

以一對一的方式對標簽進行二值化

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

此功能可以為預先知道的一組固定的類標簽計算此轉換。

參數 說明
y array-like
要編碼的整數標簽或多標簽數據的序列。
classes array-like of shape [n_classes]
唯一地保存每個類的標簽。
neg_label int (default: 0)
負標簽必須編碼的值。
pos_label int (default: 1)
必須對正標簽進行編碼的值。
sparse_output boolean (default: False),
如果需要以CSR稀疏格式輸出二進制數組,則設置為true
屬性 說明
Y numpy array or CSR matrix of shape [n_samples, n_classes]
對于二進制問題,形狀將為[n_samples,1]。

另見:

LabelBinarizer

用于包裝label_binarize功能的類,并允許獨立于轉換操作而適合于類

示例

>>> from sklearn.preprocessing import label_binarize
>>> label_binarize([16], classes=[1246])
array([[1000],
       [0001]])

類的順序被保留:

>>> label_binarize([16], classes=[1642])
array([[1000],
       [0100]])

二元目標轉換為列向量

>>> label_binarize(['yes''no''no''yes'], classes=['no''yes'])
array([[1],
       [0],
       [0],
       [1]])

sklearn.preprocessing.label_binarize使用示例?