sklearn.preprocessing.FunctionTransformer?
class sklearn.preprocessing.FunctionTransformer(func=None, inverse_func=None, *, validate=False, accept_sparse=False, check_inverse=True, kw_args=None, inv_kw_args=None)
根據任意可調用對象構造一個轉換器。
FunctionTransformer將其X(和可選的y)參數轉發給用戶定義的函數或函數對象,并返回此函數的結果。這對于無狀態轉換非常有用,比如記錄頻率、自定義縮放等等。
注意:如果將lambda用作該函數,則生成的變壓器將不可腌制。
版本0.17中的新功能。
在用戶指南中閱讀更多內容
參數 | 說明 |
---|---|
func | callable, optional default=None 用于轉換的可調用對象。將傳遞與transform相同的參數,并轉發args和kwargs。如果func為None,則func將為標識函數。 |
inverse_func | callable, optional default=None 可調用用于逆變換。將傳遞與逆變換相同的參數,并轉發args和kwargs。如果inverse_func為None,則inverse_func將為標識函數。 |
validate | bool, optional default=False 指示在調用func之前應檢查輸入X數組。可能是: 如果為False,則沒有輸入驗證。 如果為True,則X將轉換為二維NumPy數組或稀疏矩陣。如果無法進行轉換,則會引發異常。 在版本0.22中更改:validate的默認值從True更改為False。 |
accept_sparse | boolean, optional 表示func接受稀疏矩陣作為輸入。如果validate為False,則不起作用。否則,如果accept_sparse為false,則稀疏矩陣輸入將引發異常。 |
check_inverse | bool, default=True 是先檢查該輸入,還是先檢查func,然后再檢查inverse_func,都會導致原始輸入。它可以用于全面性檢查,在條件不滿足時發出警告。 0.20版中的新功能。 |
kw_args | dict, optional 傳遞給func的其他關鍵字參數字典。 版本0.18中的新功能。 |
inv_kw_args | dict, optional 要傳遞給inverse_func的其他關鍵字參數的字典。 版本0.18中的新功能。 |
示例
>>> import numpy as np
>>> from sklearn.preprocessing import FunctionTransformer
>>> transformer = FunctionTransformer(np.log1p)
>>> X = np.array([[0, 1], [2, 3]])
>>> transformer.transform(X)
array([[0. , 0.6931...],
[1.0986..., 1.3862...]])
方法
方法 | 說明 |
---|---|
fit (self, X[, y]) |
通過檢查X來安裝變壓器。 |
fit_transform (self, X[, y]) |
擬合數據,然后對其進行轉換。 |
get_params (self[, deep]) |
獲取此估計量的參數。 |
inverse_transform (self, X) |
使用反函數變換X。 |
set_params (self, **params) |
設置此估算器的參數。 |
transform (self, X) |
使用前向功能變換X。 |
__init__(self, func=None, inverse_func=None, *, validate=False, accept_sparse=False, check_inverse=True, kw_args=None, inv_kw_args=None)
初始化自身。請參閱幫助(鍵入(self))以獲取準確的簽名。
fit(self, X, y=None)
通過檢查X來安裝轉換器。
如果validate為True,將檢查X。
參數 | 說明 |
---|---|
X | array-like, shape (n_samples, n_features) 輸入數組。 |
返回值 | 說明 |
---|---|
self | - |
fit_transform(self, X, y=None, **fit_params)
擬合數據,然后對其進行轉換。
使用可選參數fit_params將轉換器擬合到X和y,并返回X的轉換版本。
參數 | 說明 |
---|---|
X | {array-like, sparse matrix, dataframe} of shape (n_sample, n_features) |
y | ndarray of shape (n_samples, ), default = None 目標值 |
**fit_params | dict 附加擬合參數 |
返回值 | 說明 |
---|---|
X_new | ndarray array of shape (n_samples, n_features_new) 轉化后的數組 |
get_params(self, deep=True)
獲取此估計量的參數。
參數 | 說明 |
---|---|
deep | bool, default = True 如果為真,則將返回此估計器和其所包含子對象的參數 |
返回值 | 說明 |
---|---|
params | mapping of string to any 參數名被映射至他們的值 |
inverse_transform(self, X)
使用反函數變換X。
參數 | 說明 |
---|---|
X | array-like, shape (n_samples, n_features) 估計量參數. |
返回值 | 說明 |
---|---|
X_out | array-like, shape (n_samples, n_features) 轉換后的輸入. |
set_params(self, **params)
設置此估算器的參數。
該方法適用于簡單的估計器以及嵌套對象(例如管道)。
后者的參數形式為<component>__<parameter>這樣就可以更新嵌套對象的每個組件。
參數 | 說明 |
---|---|
params | dict 估計量參數。 |
返回值 | 說明 |
---|---|
self | object 估計量實例。 |
transform(self, X)
使用前向功能變換X。
參數 | 說明 |
---|---|
X | array-like, shape (n_samples, n_features) 輸入數組。 |
返回值 | 說明 |
---|---|
X_out | X_outarray-like, shape (n_samples, n_features) 轉換后的輸入. |