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


Python sklearn MultiLabelBinarizer用法及代碼示例


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

用法:

class sklearn.preprocessing.MultiLabelBinarizer(*, classes=None, sparse_output=False)

在可迭代的迭代和多標簽格式之間進行轉換。

盡管集合或元組列表是多標簽數據的一種非常直觀的格式,但處理起來很笨拙。這個轉換器在這種直觀的格式和支持的多標簽格式之間進行轉換:一個(樣本 x 類)二進製矩陣,指示類標簽的存在。

參數

classes形狀類似數組 (n_classes,),默認=無

指示類標簽的排序。所有條目都應該是唯一的(不能包含重複的類)。

sparse_output布爾,默認=假

如果需要 CSR 稀疏格式的輸出二進製數組,則設置為 True。

屬性

classes_ndarray 形狀 (n_classes,)

classes 參數的副本(如果提供)。否則,它對應於擬合時找到的已排序的類集。

例子

>>> from sklearn.preprocessing import MultiLabelBinarizer
>>> mlb = MultiLabelBinarizer()
>>> mlb.fit_transform([(1, 2), (3,)])
array([[1, 1, 0],
       [0, 0, 1]])
>>> mlb.classes_
array([1, 2, 3])
>>> mlb.fit_transform([{'sci-fi', 'thriller'}, {'comedy'}])
array([[0, 1, 1],
       [1, 0, 0]])
>>> list(mlb.classes_)
['comedy', 'sci-fi', 'thriller']

一個常見的錯誤是傳入一個列表,這會導致以下問題:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit(['sci-fi', 'thriller', 'comedy'])
MultiLabelBinarizer()
>>> mlb.classes_
array(['-', 'c', 'd', 'e', 'f', 'h', 'i', 'l', 'm', 'o', 'r', 's', 't',
    'y'], dtype=object)

為了糾正這個問題,標簽列表應該傳遞為:

>>> mlb = MultiLabelBinarizer()
>>> mlb.fit([['sci-fi', 'thriller', 'comedy']])
MultiLabelBinarizer()
>>> mlb.classes_
array(['comedy', 'sci-fi', 'thriller'], dtype=object)

相關用法


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