本文簡要介紹python語言中 sklearn.multioutput.ClassifierChain
的用法。
用法:
class sklearn.multioutput.ClassifierChain(base_estimator, *, order=None, cv=None, random_state=None)
將二元分類器排列成鏈的多標簽模型。
每個模型使用提供給模型的所有可用特征加上鏈中較早模型的預測,按照鏈指定的順序進行預測。
在用戶指南中閱讀更多信息。
- base_estimator:估計器
構建分類器鏈的基本估計器。
- order:形狀類似數組 (n_outputs,) 或 ‘random’,默認=無
如果
None
,則順序將由標簽矩陣 Y 中的列順序決定:order = [0, 1, 2, ..., Y.shape[1] - 1]
可以通過提供整數列表來顯式設置鏈的順序。例如,對於長度為 5 的鏈:
order = [1, 3, 2, 4, 0]
意味著鏈中的第一個模型將對 Y 矩陣中的第 1 列進行預測,第二個模型將對第 3 列進行預測,依此類推。
如果 order 是
random
,將使用隨機排序。- cv:int,交叉驗證生成器或可迭代的,默認=無
確定是否對鏈中先前估計器的結果使用交叉驗證的預測或真實標簽。 cv 的可能輸入是:
- 無,在擬合時使用真實標簽,
- 整數,指定(分層)KFold 中的折疊數,
- CV分配器,
- 一個可迭代的 yield (train, test) 拆分為索引數組。
- random_state:int、RandomState 實例或無,可選(默認=無)
如果
order='random'
,則確定鏈順序的隨機數生成。此外,它還控製每次鏈接迭代時每個base_estimator
給出的隨機種子。因此,僅當base_estimator
公開random_state
時才使用它。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。
- classes_:列表
長度為
len(estimators_)
的數組列表,其中包含鏈中每個估計器的類標簽。- estimators_:列表
base_estimator 的克隆列表。
- order_:列表
分類器鏈中標簽的順序。
- n_features_in_:int
擬合期間看到的特征數。僅當底層
base_estimator
在合適時公開此類屬性時才定義。- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。
參數:
屬性:
參考:
Jesse Read、Bernhard Pfahringer、Geoff Holmes、Eibe Frank,“用於多標簽分類的分類器鏈”,2009 年。
例子:
>>> from sklearn.datasets import make_multilabel_classification >>> from sklearn.linear_model import LogisticRegression >>> from sklearn.model_selection import train_test_split >>> from sklearn.multioutput import ClassifierChain >>> X, Y = make_multilabel_classification( ... n_samples=12, n_classes=3, random_state=0 ... ) >>> X_train, X_test, Y_train, Y_test = train_test_split( ... X, Y, random_state=0 ... ) >>> base_lr = LogisticRegression(solver='lbfgs', random_state=0) >>> chain = ClassifierChain(base_lr, order='random', random_state=0) >>> chain.fit(X_train, Y_train).predict(X_test) array([[1., 1., 0.], [1., 0., 0.], [0., 1., 0.]]) >>> chain.predict_proba(X_test) array([[0.8387..., 0.9431..., 0.4576...], [0.8878..., 0.3684..., 0.2640...], [0.0321..., 0.9935..., 0.0625...]])
相關用法
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn ConfusionMatrixDisplay.from_predictions用法及代碼示例
- Python sklearn ComplementNB用法及代碼示例
- Python sklearn CountVectorizer用法及代碼示例
- Python sklearn CategoricalNB用法及代碼示例
- Python sklearn CalibrationDisplay.from_estimator用法及代碼示例
- Python sklearn ConfusionMatrixDisplay用法及代碼示例
- Python sklearn CalibrationDisplay用法及代碼示例
- Python sklearn CompoundKernel用法及代碼示例
- Python sklearn ConstantKernel用法及代碼示例
- Python sklearn ConfusionMatrixDisplay.from_estimator用法及代碼示例
- Python sklearn CalibratedClassifierCV用法及代碼示例
- Python sklearn ColumnTransformer用法及代碼示例
- Python sklearn CCA用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.multioutput.ClassifierChain。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。