MultiOutputRegressor#
- class sklearn.multioutput.MultiOutputRegressor(estimator, *, n_jobs=None)[原始碼]#
多目標回歸。
此策略包括為每個目標擬合一個回歸器。這是一個簡單的策略,用於擴展本機不支持多目標回歸的回歸器。
在版本 0.18 中新增。
- 參數:
- estimator估計器物件
- n_jobsint 或 None,可選 (預設值=None)
平行運行的任務數量。
fit
、predict
和partial_fit
(如果傳入的估算器支援) 將針對每個目標進行平行化處理。當個別估算器的訓練或預測速度很快時,使用
n_jobs > 1
可能會因為平行處理的額外負擔而導致效能降低。None
表示1
,除非在joblib.parallel_backend
環境中。-1
表示使用所有可用的程序/執行緒。有關詳細資訊,請參閱 詞彙表。在 0.20 版本中變更:
n_jobs
的預設值已從1
變更為None
。
- 屬性:
另請參閱
RegressorChain (回歸器鏈)
將迴歸排列成鏈的多標籤模型。
MultiOutputClassifier (多輸出分類器)
獨立分類每個輸出,而不是鏈接。
範例
>>> import numpy as np >>> from sklearn.datasets import load_linnerud >>> from sklearn.multioutput import MultiOutputRegressor >>> from sklearn.linear_model import Ridge >>> X, y = load_linnerud(return_X_y=True) >>> regr = MultiOutputRegressor(Ridge(random_state=123)).fit(X, y) >>> regr.predict(X[[0]]) array([[176..., 35..., 57...]])
- fit(X, y, sample_weight=None, **fit_params)[原始碼]#
將模型擬合到資料,針對每個輸出變數分別進行。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列、稀疏矩陣
輸入資料。
- y形狀為 (n_samples, n_outputs) 的類陣列、稀疏矩陣
多輸出目標。指標矩陣會啟用多標籤估計。
- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
樣本權重。如果為
None
,則樣本會平均加權。只有在底層迴歸器支援樣本權重時,才支援此功能。- **fit_params字串 -> 物件的字典
傳遞到每個步驟的
estimator.fit
方法的參數。在 0.23 版本中新增。
- 傳回值:
- self物件
傳回已擬合的實例。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看 使用者指南,瞭解路由機制如何運作。
在 1.3 版本中新增。
- 傳回值:
- routingMetadataRouter
封裝路由資訊的
MetadataRouter
。
- get_params(deep=True)[原始碼]#
取得此估算器的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將傳回此估算器的參數,以及包含的子物件 (估算器)。
- 傳回值:
- paramsdict
參數名稱對應到其值的字典。
- partial_fit(X, y, sample_weight=None, **partial_fit_params)[原始碼]#
針對每個輸出變數,將模型以遞增方式擬合到資料。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列、稀疏矩陣
輸入資料。
- y形狀為 (n_samples, n_outputs) 的類陣列、稀疏矩陣
多輸出目標。
- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
樣本權重。如果為
None
,則樣本會平均加權。只有在底層迴歸器支援樣本權重時,才支援此功能。- **partial_fit_paramsstr -> object 的字典
傳遞到每個子估算器的
estimator.partial_fit
方法的參數。僅在
enable_metadata_routing=True
時可用。請參閱使用者指南。在 1.3 版本中新增。
- 傳回值:
- self物件
傳回已擬合的實例。
- predict(X)[原始碼]#
使用每個目標變數的模型來預測多輸出變數。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列、稀疏矩陣
輸入資料。
- 傳回值:
- y形狀為 (n_samples, n_outputs) 的類陣列、稀疏矩陣
跨多個預測器的預測多輸出目標。注意:會為每個預測器產生單獨的模型。
- score(X, y, sample_weight=None)[原始碼]#
傳回預測的決定係數。
決定係數 \(R^2\) 定義為 \((1 - \frac{u}{v})\),其中 \(u\) 是殘差平方和
((y_true - y_pred)** 2).sum()
,而 \(v\) 是總平方和((y_true - y_true.mean()) ** 2).sum()
。最佳分數為 1.0,而且可能為負值(因為模型可能任意差)。一個總是預測y
期望值的常數模型,忽略輸入特徵,將會得到 \(R^2\) 分數 0.0。- 參數:
- X形狀類似陣列 (n_samples, n_features)
測試樣本。對於某些估計器,這可能是一個預先計算的核矩陣,或者是一個形狀為
(n_samples, n_samples_fitted)
的通用物件列表,其中n_samples_fitted
是估計器擬合時使用的樣本數。- y形狀類似陣列 (n_samples,) 或 (n_samples, n_outputs)
X
的真實值。- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
樣本權重。
- 傳回值:
- score浮點數
self.predict(X)
相對於y
的 \(R^2\)。
注意事項
當在迴歸器上呼叫
score
時使用的 \(R^2\) 分數,從 0.23 版本開始使用multioutput='uniform_average'
,以保持與r2_score
的預設值一致。這會影響所有多輸出迴歸器的score
方法(除了MultiOutputRegressor
)。
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor [原始碼]#
請求傳遞給
fit
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的使用者指南。每個參數的選項是
True
:請求中繼資料,如果提供,則傳遞給fit
。如果未提供中繼資料,則會忽略該請求。False
:不請求中繼資料,並且元估計器不會將其傳遞給fit
。None
:不請求中繼資料,如果使用者提供,元估計器會引發錯誤。str
:應該使用給定的別名而不是原始名稱,將中繼資料傳遞給元估計器。
預設值(
sklearn.utils.metadata_routing.UNCHANGED
)保留現有的請求。這允許您更改某些參數的請求,而其他參數不變。在 1.3 版本中新增。
注意
只有當此估計器被用作元估計器的子估計器時,此方法才相關,例如在
Pipeline
中使用。否則,它沒有任何作用。- 參數:
- sample_weight字串、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
fit
中sample_weight
參數的中繼資料路由。
- 傳回值:
- self物件
更新後的物件。
- set_params(**params)[原始碼]#
設定此估計器的參數。
該方法適用於簡單的估計器以及巢狀物件(例如
Pipeline
)。後者具有<component>__<parameter>
形式的參數,因此可以更新巢狀物件的每個元件。- 參數:
- **params字典
估計器參數。
- 傳回值:
- self估計器實例
估計器實例。
- set_partial_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor [原始碼]#
傳遞至
partial_fit
方法的要求元數據。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的使用者指南。每個參數的選項是
True
:請求元數據,如果提供,則傳遞給partial_fit
。如果未提供元數據,則忽略請求。False
:不請求元數據,並且元估計器不會將其傳遞給partial_fit
。None
:不請求中繼資料,如果使用者提供,元估計器會引發錯誤。str
:應該使用給定的別名而不是原始名稱,將中繼資料傳遞給元估計器。
預設值(
sklearn.utils.metadata_routing.UNCHANGED
)保留現有的請求。這允許您更改某些參數的請求,而其他參數不變。在 1.3 版本中新增。
注意
只有當此估計器被用作元估計器的子估計器時,此方法才相關,例如在
Pipeline
中使用。否則,它沒有任何作用。- 參數:
- sample_weight字串、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
用於
partial_fit
中sample_weight
參數的元數據路由。
- 傳回值:
- self物件
更新後的物件。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor [來源]#
傳遞至
score
方法的要求元數據。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的使用者指南。每個參數的選項是
True
:請求元數據,如果提供,則傳遞給score
。如果未提供元數據,則忽略請求。False
:不請求元數據,並且元估計器不會將其傳遞給score
。None
:不請求中繼資料,如果使用者提供,元估計器會引發錯誤。str
:應該使用給定的別名而不是原始名稱,將中繼資料傳遞給元估計器。
預設值(
sklearn.utils.metadata_routing.UNCHANGED
)保留現有的請求。這允許您更改某些參數的請求,而其他參數不變。在 1.3 版本中新增。
注意
只有當此估計器被用作元估計器的子估計器時,此方法才相關,例如在
Pipeline
中使用。否則,它沒有任何作用。- 參數:
- sample_weight字串、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
用於
score
中sample_weight
參數的元數據路由。
- 傳回值:
- self物件
更新後的物件。