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


Python sklearn TransformedTargetRegressor用法及代碼示例


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

用法:

class sklearn.compose.TransformedTargetRegressor(regressor=None, *, transformer=None, func=None, inverse_func=None, check_inverse=True)

Meta-estimator 在轉換後的目標上回歸。

對於在回歸問題中對目標y 應用非線性變換很有用。此轉換可以作為 Transformer 給出,例如 QuantileTransformer 或作為函數及其逆函數,例如 np.lognp.exp

fit期間的計算為:

regressor.fit(X, func(y))

或者:

regressor.fit(X, transformer.transform(y))

predict期間的計算為:

inverse_func(regressor.predict(X))

或者:

transformer.inverse_transform(regressor.predict(X))

在用戶指南中閱讀更多信息。

參數

regressor對象,默認=無

回歸量對象,例如派生自 RegressorMixin 。每次擬合之前都會自動克隆該回歸量。如果 regressor is None ,則創建並使用 LinearRegression

transformer對象,默認=無

估計器對象,例如派生自 TransformerMixin 。不能與 funcinverse_func 同時設置。如果 transformer is None 以及 funcinverse_func ,則轉換器將是一個身份轉換器。請注意,轉換器將在擬合期間被克隆。此外,轉換器將 y 限製為 numpy 數組。

func函數,默認=無

在傳遞到 fit 之前應用於 y 的函數。不能與 transformer 同時設置。該函數需要返回一個二維數組。如果是 func is None ,則使用的函數將是恒等函數。

inverse_func函數,默認=無

應用於回歸量預測的函數。不能與 transformer 同時設置。該函數需要返回一個二維數組。逆函數用於將預測返回到原始訓練標簽的相同空間。

check_inverse布爾,默認=真

是否檢查 transform 後跟 inverse_transformfunc 後跟 inverse_func 是否導致原始目標。

屬性

regressor_對象

擬合回歸器。

transformer_對象

fitpredict 中使用的轉換器。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

注意

在內部,目標y 始終轉換為二維數組以供scikit-learn 轉換器使用。在預測時,輸出將被重新整形為具有與 y 相同的維數。

請參閱示例/撰寫/plot_transformed_target.py。

例子

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> from sklearn.compose import TransformedTargetRegressor
>>> tt = TransformedTargetRegressor(regressor=LinearRegression(),
...                                 func=np.log, inverse_func=np.exp)
>>> X = np.arange(4).reshape(-1, 1)
>>> y = np.exp(2 * X).ravel()
>>> tt.fit(X, y)
TransformedTargetRegressor(...)
>>> tt.score(X, y)
1.0
>>> tt.regressor_.coef_
array([2.])

相關用法


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