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) 转换后的输入. |