建立多標籤分類 (make_multilabel_classification)#
- sklearn.datasets.make_multilabel_classification(n_samples=100, n_features=20, *, n_classes=5, n_labels=2, length=50, allow_unlabeled=True, sparse=False, return_indicator='dense', return_distributions=False, random_state=None)[原始碼]#
產生隨機多標籤分類問題。
- 對於每個樣本,生成過程如下
挑選標籤數量:n ~ Poisson(n_labels)
n次,選擇一個類別c:c ~ Multinomial(theta)
挑選文件長度:k ~ Poisson(length)
k次,選擇一個詞:w ~ Multinomial(theta_c)
在上述過程中,使用拒絕抽樣來確保n永遠不為零或大於
n_classes
,且文件長度永遠不為零。同樣地,我們拒絕已經選擇的類別。有關使用範例,請參閱 繪製隨機產生的多標籤資料集。
請在使用者指南中閱讀更多內容。
- 參數:
- n_samplesint, default=100
樣本數量。
- n_featuresint, default=20
特徵總數。
- n_classesint, default=5
分類問題的類別數量。
- n_labelsint, default=2
每個實例的平均標籤數量。更精確地說,每個樣本的標籤數量是從泊松分佈中抽取的,其期望值為
n_labels
,但樣本會被n_classes
限制(使用拒絕抽樣),如果allow_unlabeled
為False,則必須為非零。- lengthint, default=50
特徵總和(如果是文件,則為字數)是從泊松分佈中抽取的,其期望值為此值。
- allow_unlabeledbool, default=True
如果
True
,則某些實例可能不屬於任何類別。- sparsebool, default=False
如果
True
,則返回稀疏特徵矩陣。0.17 版本新增: 參數以允許稀疏輸出。
- return_indicator{‘dense’, ‘sparse’} 或 False, default=’dense’
如果
'dense'
,則以密集二進制指示符格式返回Y
。如果'sparse'
,則以稀疏二進制指示符格式返回Y
。False
返回標籤列表的列表。- return_distributionsbool, default=False
如果
True
,則返回先驗類別機率和給定類別的特徵條件機率,資料由此產生。- random_stateint, RandomState 實例或 None, default=None
決定資料集建立的隨機數字產生。傳遞一個整數以在多個函數呼叫中獲得可重複的輸出。請參閱 詞彙表。
- 回傳:
- X形狀為 (n_samples, n_features) 的 ndarray
產生的樣本。
- Y形狀為 (n_samples, n_classes) 的 {ndarray, 稀疏矩陣}
標籤集。稀疏矩陣應為CSR格式。
- p_c形狀為 (n_classes,) 的 ndarray
每個類別被抽取的機率。僅當
return_distributions=True
時返回。- p_w_c形狀為 (n_features, n_classes) 的 ndarray
每個特徵在給定每個類別的情況下被抽取的機率。僅當
return_distributions=True
時返回。
範例
>>> from sklearn.datasets import make_multilabel_classification >>> X, y = make_multilabel_classification(n_labels=3, random_state=42) >>> X.shape (100, 20) >>> y.shape (100, 5) >>> list(y[:3]) [array([1, 1, 0, 1, 0]), array([0, 1, 1, 1, 0]), array([0, 1, 0, 0, 0])]