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]。 |
另見:
用于包裝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]])