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


Python sklearn RegressorChain用法及代碼示例


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

用法:

class sklearn.multioutput.RegressorChain(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’,將使用隨機排序。

cvint,交叉驗證生成器或可迭代的,默認=無

確定是否對鏈中先前估計器的結果使用交叉驗證的預測或真實標簽。 cv 的可能輸入是:

  • 無,在擬合時使用真實標簽,
  • 整數,指定(分層)KFold 中的折疊數,
  • CV分配器,
  • 一個可迭代的 yield (train, test) 拆分為索引數組。
random_stateint、RandomState 實例或無,可選(默認=無)

如果 order='random' ,則確定鏈順序的隨機數生成。此外,它還控製每次鏈接迭代時每個 base_estimator 給出的隨機種子。因此,僅當 base_estimator 公開 random_state 時才使用它。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。

屬性

estimators_列表

base_estimator 的克隆列表。

order_列表

分類器鏈中標簽的順序。

n_features_in_int

擬合期間看到的特征數。僅當底層 base_estimator 在合適時公開此類屬性時才定義。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

例子

>>> from sklearn.multioutput import RegressorChain
>>> from sklearn.linear_model import LogisticRegression
>>> logreg = LogisticRegression(solver='lbfgs',multi_class='multinomial')
>>> X, Y = [[1, 0], [0, 1], [1, 1]], [[0, 2], [1, 1], [2, 0]]
>>> chain = RegressorChain(base_estimator=logreg, order=[0, 1]).fit(X, Y)
>>> chain.predict(X)
array([[0., 2.],
       [1., 1.],
       [2., 0.]])

相關用法


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