PCATransformer#

class PCATransformer(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)[source]#

主成分分析应用于时间序列面板数据。

提供了对 sklearn.decomposition.PCA 的简单封装。

将 PCA 应用于面板数据 [实例数, 变量数, 时间点数],具体如下:
  1. 将面板数据展平为 [实例数, 时间点数*变量数]

  2. 如果在 fit 中:将 sklearn.pca 拟合到展平的面板数据;在 transform 中:投影到前 n_components 个主成分上,

    然后重新格式化回 [实例数, 变量数, 时间点数]

参数
n_componentsint, float, str 或 None (默认为 None)

投影中的主成分数量 默认为 min(num_instances, num_variables * num_time_points) 更多文档请参阅 sklearn.decomposition.PCA 文档。

copybool, 默认为 True

如果为 False,传递给 fit 的数据将被覆盖,并且运行 fit(X).transform(X) 将不会产生预期结果,请改为使用 fit_transform(X)。

whitenbool, 默认为 False

当为 True(默认为 False)时,components_ 向量乘以 n_samples 的平方根,然后除以奇异值,以确保输出不相关且分量方差为单位方差。

白化将移除变换后信号的一些信息(分量的相对方差尺度),但有时可以通过使下游评估器的数据满足一些硬编码假设来提高预测精度。

svd_solver{'auto', 'full', 'arpack', 'randomized'} 之一, 默认为 'auto'
如果为 'auto'

求解器根据 X.shapen_components 通过默认策略选择:如果输入数据大于 500x500 且要提取的分量数小于数据最小维度的 80%,则启用更高效的 ‘randomized’ 方法。否则,计算精确的完全 SVD,并可选择在之后截断。

如果为 'full'

通过 scipy.linalg.svd 调用标准 LAPACK 求解器运行精确的完全 SVD,并通过后处理选择分量

如果为 'arpack'

通过 scipy.sparse.linalg.svds 调用 ARPACK 求解器运行截断到 n_components 的 SVD。它严格要求 0 < n_components < min(X.shape)

如果为 'randomized'

通过 Halko 等人的方法运行随机 SVD

tolfloat, 默认为 0.0

svd_solver == ‘arpack’ 计算的奇异值的容差。必须在 [0.0, infinity) 范围内。

iterated_powerint 或 'auto', 默认为 'auto'

svd_solver == ‘randomized’ 计算的幂方法的迭代次数。必须在 [0, infinity) 范围内。

random_stateint, RandomState 实例或 None, 默认为 None

在使用 ‘arpack’ 或 ‘randomized’ 求解器时使用。传递一个整数可以在多次函数调用中获得可重现的结果。

属性
is_fitted

是否已调用 fit

方法

check_is_fitted([method_name])

检查评估器是否已拟合。

clone()

获取具有相同超参数和配置的对象的克隆。

clone_tags(estimator[, tag_names])

从另一个对象克隆标签作为动态覆盖。

create_test_instance([parameter_set])

使用第一个测试参数集构造类的实例。

create_test_instances_and_names([parameter_set])

创建所有测试实例列表及其名称列表。

fit(X[, y])

将转换器拟合到 X,可选地拟合到 y。

fit_transform(X[, y])

拟合数据,然后转换数据。

get_class_tag(tag_name[, tag_value_default])

从类中获取类标签值,带有来自父类的标签级别继承。

get_class_tags()

从类中获取类标签,带有来自父类的标签级别继承。

get_config()

获取自身的配置标志。

get_fitted_params([deep])

获取拟合参数。

get_param_defaults()

获取对象的参数默认值。

get_param_names([sort])

获取对象的参数名称。

get_params([deep])

获取此对象的参数值字典。

get_tag(tag_name[, tag_value_default, ...])

从实例中获取标签值,带有标签级别继承和覆盖。

get_tags()

从实例中获取标签,带有标签级别继承和覆盖。

get_test_params([parameter_set])

返回 skbase 对象的测试参数设置。

inverse_transform(X[, y])

对 X 进行逆变换并返回逆变换后的版本。

is_composite()

检查对象是否由其他 BaseObjects 组成。

load_from_path(serial)

从文件位置加载对象。

load_from_serial(serial)

从序列化内存容器加载对象。

reset()

将对象重置为初始化后的干净状态。

save([path, serialization_format])

将序列化的自身保存到字节类对象或 (.zip) 文件。

set_config(**config_dict)

将配置标志设置为给定值。

set_params(**params)

设置此对象的参数。

set_random_state([random_state, deep, ...])

为自身设置 random_state 伪随机种子参数。

set_tags(**tag_dict)

将实例级别标签覆盖设置为给定值。

transform(X[, y])

转换 X 并返回转换后的版本。

update(X[, y, update_params])

使用 X 更新转换器,可选地使用 y。

check_is_fitted(method_name=None)[source]#

检查评估器是否已拟合。

检查是否存在 _is_fitted 属性且其值为 True。在调用对象的 fit 方法时,应将 is_fitted 属性设置为 True

如果不是,则会引发 NotFittedError

参数
method_namestr, 可选

调用此方法的函数名称。如果提供,错误消息将包含此信息。

引发
NotFittedError

如果评估器尚未拟合。

clone()[source]#

获取具有相同超参数和配置的对象的克隆。

克隆是一个没有共享引用,处于初始化后状态的不同对象。此函数等效于返回 selfsklearn.clone

等效于使用 self 的参数构造 type(self) 的新实例,即 type(self)(**self.get_params(deep=False))

如果在 self 上设置了配置,则克隆也将具有与原始对象相同的配置,等效于调用 cloned_self.set_config(**self.get_config())

在值上也等效于调用 self.reset,但不同之处在于 clone 返回一个新对象,而不是像 reset 那样修改 self

引发
如果由于 __init__ 错误导致克隆不符合规范,则会引发 RuntimeError。
clone_tags(estimator, tag_names=None)[source]#

从另一个对象克隆标签作为动态覆盖。

每个与 scikit-base 兼容的对象都有一个标签字典。标签可用于存储对象的元数据,或控制对象的行为。

标签是特定于实例 self 的键值对,它们是对象构造后不会更改的静态标志。

clone_tags 从另一个对象 estimator 设置动态标签覆盖。

clone_tags 方法应仅在对象的 __init__ 方法中调用,在构造期间,或在通过 __init__ 构造后直接调用。

动态标签被设置为 estimator 中标签的值,名称在 tag_names 中指定。

tag_names 的默认行为是将 estimator 中的所有标签写入 self

当前标签值可以通过 get_tagsget_tag 查看。

参数
estimator:class:BaseObject 或派生类的实例
tag_namesstr 或 str 列表, 默认为 None

要克隆的标签名称。默认值 (None) 会克隆 estimator 中的所有标签。

返回
self

self 的引用。

classmethod create_test_instance(parameter_set='default')[source]#

使用第一个测试参数集构造类的实例。

参数
parameter_setstr, 默认为 “default”

要返回的测试参数集的名称,用于测试。如果某个值未定义特殊参数,将返回 “default” 集。

返回
instance使用默认参数的类实例
classmethod create_test_instances_and_names(parameter_set='default')[source]#

创建所有测试实例列表及其名称列表。

参数
parameter_setstr, 默认为 “default”

要返回的测试参数集的名称,用于测试。如果某个值未定义特殊参数,将返回 “default” 集。

返回
objscls 实例列表

第 i 个实例是 cls(**cls.get_test_params()[i])

namesstr 列表,长度与 objs 相同

第 i 个元素是测试中第 i 个 obj 实例的名称。如果实例多于一个,命名约定为 {cls.__name__}-{i},否则为 {cls.__name__}

fit(X, y=None)[source]#

将转换器拟合到 X,可选地拟合到 y。

状态变更

将状态更改为“已拟合”。

写入自身

  • 设置以“_”结尾的拟合模型属性,拟合属性可以通过 get_fitted_params 查看。

  • self.is_fitted 标志设置为 True

  • 如果 self.get_tag("remember_data")True,则将 X 记忆为 self._X,并强制转换为 self.get_tag("X_inner_mtype")

参数
Xsktime 兼容数据容器格式的时间序列

用于拟合转换的数据。

sktime 中的个体数据格式是所谓的 mtype 规范,每个 mtype 实现了一个抽象 scitype

  • Series scitype = 单个时间序列。pd.DataFrame, pd.Series, 或 np.ndarray (1D 或 2D)

  • Panel scitype = 时间序列集合。带有 2 级行 MultiIndex (实例, 时间)pd.DataFrame3D np.ndarray (实例, 变量, 时间),或 Series 类型 pd.DataFramelist

  • Hierarchical scitype = 分层时间序列集合。带有 3 级或更多级行 MultiIndex (层次结构 1, ..., 层次结构 n, 时间)pd.DataFrame

有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅转换器教程 examples/03_transformers.ipynb

y可选,sktime 兼容数据格式的数据, 默认为 None

附加数据,例如用于转换的标签 如果 self.get_tag("requires_y")True,则必须在 fit 中传递,不是可选的。所需格式详情请参阅类文档字符串。

返回
self评估器的拟合实例
fit_transform(X, y=None)[source]#

拟合数据,然后转换数据。

将转换器拟合到 X 和 y,并返回 X 的转换版本。

状态变更

将状态更改为“已拟合”。

写入自身: _is_fitted : 标志设置为 True。 _X : X,如果 remember_data 标签为 True,则为 X 的强制转换副本

如果可能,通过引用强制转换为内部类型或 update_data 兼容类型

模型属性(以“_”结尾):取决于评估器

参数
Xsktime 兼容数据容器格式的时间序列

用于拟合转换的数据,以及要转换的数据。

sktime 中的个体数据格式是所谓的 mtype 规范,每个 mtype 实现了一个抽象 scitype

  • Series scitype = 单个时间序列。pd.DataFrame, pd.Series, 或 np.ndarray (1D 或 2D)

  • Panel scitype = 时间序列集合。带有 2 级行 MultiIndex (实例, 时间)pd.DataFrame3D np.ndarray (实例, 变量, 时间),或 Series 类型 pd.DataFramelist

  • Hierarchical scitype = 分层时间序列集合。带有 3 级或更多级行 MultiIndex (层次结构 1, ..., 层次结构 n, 时间)pd.DataFrame

有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅转换器教程 examples/03_transformers.ipynb

y可选,sktime 兼容数据格式的数据, 默认为 None

附加数据,例如用于转换的标签 如果 self.get_tag("requires_y")True,则必须在 fit 中传递,不是可选的。所需格式详情请参阅类文档字符串。

返回
X 的转换版本
类型取决于 X 的类型和 scitype:transform-output 标签
X | tf-output | 返回类型 |

|----------|————–|------------------------| | Series | Primitives | pd.DataFrame (1 行) | | Panel | Primitives | pd.DataFrame | | Series | Series | Series | | Panel | Series | Panel | | Series | Panel | Panel |

返回中的实例对应于 X 中的实例
表中未列出的组合目前不受支持
明确地,并附带示例
  • 如果 XSeries (例如,pd.DataFrame)

并且 transform-outputSeries,则返回是相同 mtype 的单个 Series。示例:对单个时间序列进行去趋势

  • 如果 XPanel (例如,pd-multiindex) 并且 transform-output

Series,则返回是与 X 具有相同实例数的 Panel (转换器应用于每个输入的 Series 实例)。示例:面板中的所有时间序列都单独去趋势

  • 如果 XSeriesPanel 并且 transform-output

Primitives,则返回是一个 pd.DataFrame,其行数与 X 中的实例数相同。示例:返回的第 i 行包含第 i 个时间序列的均值和方差

  • 如果 XSeries 并且 transform-outputPanel

则返回是一个类型为 pd-multiindexPanel 对象。示例:输出的第 i 个实例是运行在 X 上的第 i 个窗口

classmethod get_class_tag(tag_name, tag_value_default=None)[source]#

从类中获取类标签值,带有来自父类的标签级别继承。

每个与 scikit-base 兼容的对象都有一个标签字典,用于存储有关对象的元数据。

get_class_tag 方法是一个类方法,仅考虑类级别的标签值和覆盖来检索标签值。

它从对象中返回名称为 tag_name 的标签值,考虑标签覆盖,优先级从高到低如下:

  1. 在类的 _tags 属性中设置的标签。

  2. 在父类的 _tags 属性中设置的标签,

按照继承顺序。

不考虑在实例上设置的动态标签覆盖,即通过 set_tagsclone_tags 在实例上定义的标签。

要检索带有潜在实例覆盖的标签值,请改用 get_tag 方法。

参数
tag_namestr

标签值的名称。

tag_value_default任何类型

如果未找到标签,则为默认/回退值。

返回
tag_value

self 中名称为 tag_name 的标签值。如果未找到,则返回 tag_value_default

classmethod get_class_tags()[source]#

从类中获取类标签,带有来自父类的标签级别继承。

每个与 scikit-base 兼容的对象都有一个标签字典。标签可用于存储对象的元数据,或控制对象的行为。

标签是特定于实例 self 的键值对,它们是对象构造后不会更改的静态标志。

get_class_tags 方法是一个类方法,仅考虑类级别的标签值和覆盖来检索标签值。

它返回一个字典,其键是类或其任何父类中设置的 _tags 属性的任何键。

值是相应的标签值,优先级从高到低如下覆盖:

  1. 在类的 _tags 属性中设置的标签。

  2. 在父类的 _tags 属性中设置的标签,

按照继承顺序。

实例可以根据超参数覆盖这些标签。

要检索带有潜在实例覆盖的标签,请改用 get_tags 方法。

不考虑在实例上设置的动态标签覆盖,即通过 set_tagsclone_tags 在实例上定义的标签。

要包含来自动态标签的覆盖,请使用 get_tags

collected_tagsdict

标签名:标签值对的字典。通过嵌套继承从 _tags 类属性收集。不受通过 set_tagsclone_tags 设置的动态标签覆盖。

get_config()[source]#

获取自身的配置标志。

配置是 self 的键值对,通常用作控制行为的瞬时标志。

get_config 返回动态配置,它们会覆盖默认配置。

默认配置设置在类或其父类的类属性 _config 中,并通过 set_config 设置的动态配置覆盖。

配置在 clonereset 调用下保留。

返回
config_dictdict

配置名称:配置值对的字典。通过嵌套继承从 _config 类属性收集,然后从 _onfig_dynamic 对象属性收集任何覆盖和新标签。

get_fitted_params(deep=True)[source]#

获取拟合参数。

所需状态

要求状态为“已拟合”。

参数
deepbool, 默认为 True

是否返回组件的拟合参数。

  • 如果为 True,将返回此对象的参数名称 : 值字典,包括可拟合组件(= BaseEstimator 值参数)的拟合参数。

  • 如果为 False,将返回此对象的参数名称 : 值字典,但不包括组件的拟合参数。

返回
fitted_params带有 str 值键的 dict

拟合参数字典, paramname : paramvalue 键值对包括

  • 始终:此对象的所有拟合参数,如通过 get_param_names 获取的,值是该键的拟合参数值,属于此对象

  • 如果 deep=True,也包含组件参数的键/值对,组件参数索引为 [componentname]__[paramname]componentname 的所有参数都以 paramname 及其值的形式出现

  • 如果 deep=True,也包含任意级别的组件递归,例如 [componentname]__[componentcomponentname]__[paramname]

classmethod get_param_defaults()[source]#

获取对象的参数默认值。

返回
default_dict: dict[str, Any]

键是 cls 中在 __init__ 中定义了默认值的所有参数。值是在 __init__ 中定义的默认值。

classmethod get_param_names(sort=True)[source]#

获取对象的参数名称。

参数
sortbool, 默认为 True

是按字母顺序返回参数名称 (True),还是按它们在类 __init__ 中出现的顺序返回 (False)。

返回
param_names: list[str]

cls 的参数名称列表。如果 sort=False,则按它们在类 __init__ 中出现的顺序排列。如果 sort=True,则按字母顺序排列。

get_params(deep=True)[source]#

获取此对象的参数值字典。

参数
deepbool, 默认为 True

是否返回组件的参数。

  • 如果为 True,将返回此对象的参数名称 : 值 dict,包括组件(= BaseObject 值参数)的参数。

  • 如果为 False,将返回此对象的参数名称 : 值 dict,但不包括组件的参数。

返回
params带有 str 值键的 dict

参数字典, paramname : paramvalue 键值对包括

  • 始终:此对象的所有参数,如通过 get_param_names 获取的,值是该键的参数值,属于此对象,值始终与构造时传递的值相同

  • 如果 deep=True,也包含组件参数的键/值对,组件参数索引为 [componentname]__[paramname]componentname 的所有参数都以 paramname 及其值的形式出现

  • 如果 deep=True,也包含任意级别的组件递归,例如 [componentname]__[componentcomponentname]__[paramname]

get_tag(tag_name, tag_value_default=None, raise_error=True)[source]#

从实例中获取标签值,带有标签级别继承和覆盖。

每个与 scikit-base 兼容的对象都有一个标签字典。标签可用于存储对象的元数据,或控制对象的行为。

标签是特定于实例 self 的键值对,它们是对象构造后不会更改的静态标志。

get_tag 方法从实例中检索名称为 tag_name 的单个标签值,考虑标签覆盖,优先级从高到低如下:

  1. 通过实例上的 set_tagsclone_tags 设置的标签,

在实例构造时。

  1. 在类的 _tags 属性中设置的标签。

  2. 在父类的 _tags 属性中设置的标签,

按照继承顺序。

参数
tag_namestr

要检索的标签名称

tag_value_default任何类型, 可选; 默认为 None

如果未找到标签,则为默认/回退值

raise_errorbool

未找到标签时是否引发 ValueError

返回
tag_valueAny

self 中名称为 tag_name 的标签值。如果未找到,并且 raise_error 为 True,则引发错误,否则返回 tag_value_default

引发
ValueError, 如果 raise_errorTrue

如果 tag_name 不在 self.get_tags().keys() 中,则会引发 ValueError

get_tags()[source]#

从实例中获取标签,带有标签级别继承和覆盖。

每个与 scikit-base 兼容的对象都有一个标签字典。标签可用于存储对象的元数据,或控制对象的行为。

标签是特定于实例 self 的键值对,它们是对象构造后不会更改的静态标志。

get_tags 方法返回一个标签字典,其键是类或其任何父类中设置的 _tags 属性的任何键,或通过 set_tagsclone_tags 设置的标签。

值是相应的标签值,优先级从高到低如下覆盖:

  1. 通过实例上的 set_tagsclone_tags 设置的标签,

在实例构造时。

  1. 在类的 _tags 属性中设置的标签。

  2. 在父类的 _tags 属性中设置的标签,

按照继承顺序。

返回
collected_tagsdict

标签名称:标签值对的字典。通过嵌套继承从 _tags 类属性收集,然后从 _tags_dynamic 对象属性收集任何覆盖和新标签。

classmethod get_test_params(parameter_set='default')[source]#

返回 skbase 对象的测试参数设置。

get_test_params 是一个统一的接口点,用于存储测试目的的参数设置。此函数也用于 create_test_instancecreate_test_instances_and_names 来构造测试实例。

get_test_params 应该返回单个 dict,或 dictlist

每个 dict 是一个用于测试的参数配置,可用于构造一个“有趣的”测试实例。对于 get_test_params 返回中的所有字典 params,调用 cls(**params) 都应该有效。

get_test_params 不需要返回固定的字典列表,它也可以返回动态或随机的参数设置。

参数
parameter_setstr, 默认为 “default”

要返回的测试参数集的名称,用于测试。如果某个值未定义特殊参数,将返回 “default” 集。

返回
paramsdict 或 dict 列表, 默认为 {}

用于创建类测试实例的参数。每个 dict 是用于构造“有趣的”测试实例的参数,即 MyClass(**params)MyClass(**params[i]) 创建一个有效的测试实例。create_test_instance 使用 params 中的第一个(或唯一一个)字典

inverse_transform(X, y=None)[source]#

对 X 进行逆变换并返回逆变换后的版本。

目前假定只有带有以下标签的转换器

“scitype:transform-input”=”Series”, “scitype:transform-output”=”Series”,"

具有 inverse_transform 方法。

所需状态

要求状态为“已拟合”。

访问自身中的内容

  • 以“_”结尾的拟合模型属性。

  • self.is_fitted,必须为 True

参数
Xsktime 兼容数据容器格式的时间序列

用于拟合转换的数据。

sktime 中的个体数据格式是所谓的 mtype 规范,每个 mtype 实现了一个抽象 scitype

  • Series scitype = 单个时间序列。pd.DataFrame, pd.Series, 或 np.ndarray (1D 或 2D)

  • Panel scitype = 时间序列集合。带有 2 级行 MultiIndex (实例, 时间)pd.DataFrame3D np.ndarray (实例, 变量, 时间),或 Series 类型 pd.DataFramelist

  • Hierarchical scitype = 分层时间序列集合。带有 3 级或更多级行 MultiIndex (层次结构 1, ..., 层次结构 n, 时间)pd.DataFrame

有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅转换器教程 examples/03_transformers.ipynb

y可选,sktime 兼容数据格式的数据, 默认为 None

附加数据,例如用于转换的标签。某些转换器需要此数据,详情请参阅类文档字符串。

返回
X 的逆转换版本

与 X 类型相同,并符合 mtype 格式规范

is_composite()[source]#

检查对象是否由其他 BaseObjects 组成。

复合对象是指包含其他对象作为参数的对象。在实例上调用此方法,因为这可能因实例而异。

返回
composite: bool

对象是否有任何参数的值是 BaseObject 的子类实例。

property is_fitted[source]#

是否已调用 fit

检查对象的 _is_fitted` 属性,该属性在对象构造期间应初始化为 False,并在调用对象的 fit 方法时设置为 True。

返回
bool

评估器是否已 fit

classmethod load_from_path(serial)[source]#

从文件位置加载对象。

参数
serialZipFile(path).open(“object) 的结果
返回
反序列化自身,结果输出到 path,即 cls.save(path) 的输出
classmethod load_from_serial(serial)[source]#

从序列化内存容器加载对象。

参数
serialcls.save(None) 输出的第一个元素
返回
反序列化的 self,其结果是 cls.save(None) 输出的 serial
reset()[source]#

将对象重置为初始化后的干净状态。

self 重置到构造函数调用后立即拥有的状态,保持相同的超参数。通过 set_config 设置的配置值也会被保留。

reset 调用会删除所有对象属性,除了

  • 超参数 = 写到 self__init__ 的参数,例如 self.paramname,其中 paramname__init__ 的参数

  • 包含双下划线(即字符串“__”)的对象属性。例如,名为“__myattr”的属性将被保留。

  • 配置属性,配置会被保留且不会改变。也就是说,reset 前后 get_config 的结果是相同的。

类方法和对象方法,以及类属性也不会受到影响。

等同于 clone,但 reset 会改变 self 的状态,而不是返回一个新对象。

在调用 self.reset() 后,self 在值和状态上等同于调用构造函数 ``type(self)(**self.get_params(deep=False))`` 后获得的对象。

返回
self

类的实例被重置到干净的初始化后状态,但保留当前的超参数值。

save(path=None, serialization_format='pickle')[source]#

将序列化的自身保存到字节类对象或 (.zip) 文件。

行为:如果 path 为 None,则返回一个内存中的序列化 self;如果 path 是文件位置,则将 self 存储到该位置作为 zip 文件

保存的文件是 zip 文件,包含以下内容:_metadata - 包含 self 的类,即 type(self);_obj - 序列化的 self。此类使用默认序列化(pickle)。

参数
pathNone 或 文件位置(str 或 Path)

如果为 None,则将 self 保存到内存对象中;如果为文件位置,则将 self 保存到该文件位置。

  • 如果 path=”estimator”,则会在当前工作目录 (cwd) 创建一个 zip 文件 estimator.zip

  • 如果 path=”/home/stored/estimator”,则会在 /home/stored/ 中存储一个 zip 文件 estimator.zip

存储在 /home/stored/

serialization_format: str, default = “pickle”

用于序列化的模块。可用选项有“pickle”和“cloudpickle”。请注意,非默认格式可能需要安装其他软依赖项。

返回
如果 path 为 None - 内存中的序列化 self
如果 path 为文件位置 - 引用该文件的 ZipFile 对象
set_config(**config_dict)[source]#

将配置标志设置为给定值。

参数
config_dictdict

配置名称 : 配置值的字典对。下面列出了有效的配置、值及其含义

displaystr, “diagram”(默认)或 “text”

jupyter 内核如何显示 self 的实例

  • “diagram” = html 框图表示

  • “text” = 字符串打印输出

print_changed_onlybool, default=True

打印 self 时是仅列出自参数与默认值不同的参数(False),还是列出所有参数名称和值(False)。不进行嵌套,即只影响 self 而不影响组件估算器。

warningsstr, “on”(默认)或 “off”

是否引发警告,仅影响来自 sktime 的警告

  • “on” = 将引发来自 sktime 的警告

  • “off” = 不引发来自 sktime 的警告

backend:parallelstr, 可选, default=”None”

广播/向量化时用于并行化的后端,选项包括

  • “None”: 顺序执行循环,简单的列表推导式

  • “loky”, “multiprocessing” 和 “threading”: 使用 joblib.Parallel

  • “joblib”: 自定义和第三方 joblib 后端,例如 spark

  • “dask”: 使用 dask,需要在环境中安装 dask

  • “ray”: 使用 ray,需要在环境中安装 ray

backend:parallel:paramsdict, 可选, default={} (不传递参数)

作为配置传递给并行化后端的附加参数。有效键取决于 backend:parallel 的值

  • “None”: 无附加参数,backend_params 被忽略

  • “loky”, “multiprocessing” 和 “threading”: 默认 joblib 后端。此处可以传递 joblib.Parallel 的任何有效键,例如 n_jobs,但 backend 除外,它直接由 backend 控制。如果未传递 n_jobs,则默认为 -1,其他参数默认为 joblib 的默认值。

  • “joblib”: 自定义和第三方 joblib 后端,例如 spark。此处可以传递 joblib.Parallel 的任何有效键,例如 n_jobsbackend 在此情况下必须作为 backend_params 的一个键传递。如果未传递 n_jobs,则默认为 -1,其他参数默认为 joblib 的默认值。

  • “dask”: 可以传递 dask.compute 的任何有效键,例如 scheduler

  • “ray”: 可以传递以下键

    • “ray_remote_args”: ray.init 的有效键的字典

    • “shutdown_ray”: bool, default=True; False 会阻止 ray 在并行化后关闭。

      并行化后关闭。

    • “logger_name”: str, default=”ray”; 要使用的日志记录器名称。

    • “mute_warnings”: bool, default=False; 如果为 True,则抑制警告。

input_conversionstr, “on”(默认)、“off”或有效的 mtype 字符串之一

控制 _fit, _transform, _inverse_transform, _update 的输入检查和转换

  • "on" - 执行输入检查和转换

  • "off" - 在将数据传递给内部方法之前,不执行输入检查和转换

  • 有效的 mtype 字符串 - 假定输入为指定的 mtype,执行转换但不执行检查

output_conversionstr, “on”, “off”, 有效的 mtype 字符串之一

控制 _transform, _inverse_transform 的输出转换

  • "on" - 如果 input_conversion 为“on”,则执行输出转换

  • "off" - 直接返回 _transform, _inverse_transform 的输出

  • 有效的 mtype 字符串 - 将输出转换为指定的 mtype

返回
self对 self 的引用。

注意

改变对象状态,将 config_dict 中的配置复制到 self._config_dynamic。

set_params(**params)[source]#

设置此对象的参数。

此方法既适用于简单的 skbase 对象,也适用于复合对象。参数键字符串 <component>__<parameter> 可用于复合对象(即包含其他对象的对象),以访问组件 <component> 中的 <parameter>。如果引用 unambiguous,也可以使用不带 <component>__ 的字符串 <parameter>,例如,如果组件中没有两个参数的名称都是 <parameter>

参数
**paramsdict

BaseObject 参数,键必须是 <component>__<parameter> 字符串。__ 后缀可以作为完整字符串的别名,前提是在 get_params 键中是唯一的。

返回
self对 self 的引用(设置参数后)
set_random_state(random_state=None, deep=True, self_policy='copy')[source]#

为自身设置 random_state 伪随机种子参数。

通过 self.get_params 查找名为 random_state 的参数,并通过 set_params 将它们设置为从 random_state 派生的整数。这些整数通过 sample_dependent_seed 通过链式哈希采样,并保证种子随机生成器的伪随机独立性。

根据 self_policy,应用于 self 中的 random_state 参数,并且仅当 deep=True 时应用于剩余组件对象。

注意:即使 self 没有 random_state,或组件中没有 random_state 参数,也会调用 set_params。因此,set_random_state 将重置任何 scikit-base 对象,即使是没有 random_state 参数的对象。

参数
random_stateint, RandomState 实例或 None, 默认为 None

伪随机数生成器,用于控制随机整数的生成。传递 int 以在多次函数调用中获得可重现的输出。

deepbool, 默认为 True

是否在值为 skbase 对象的参数(即组件估算器)中设置随机状态。

  • 如果为 False,将仅设置 selfrandom_state 参数(如果存在)。

  • 如果为 True,也将设置组件对象中的 random_state 参数。

self_policystr, {“copy”, “keep”, “new”} 之一, default=”copy”
  • “copy” : self.random_state 设置为输入 random_state

  • “keep” : self.random_state 保持不变

  • “new” : self.random_state 设置为一个新的随机状态,

从输入 random_state 派生,并且通常与输入不同。

返回
self对 self 的引用
set_tags(**tag_dict)[source]#

将实例级别标签覆盖设置为给定值。

每个与 scikit-base 兼容的对象都有一个标签字典,用于存储有关对象的元数据。

标签是特定于实例 self 的键值对,它们是构建对象后不会改变的静态标志。它们可用于元数据检查或控制对象的行为。

set_tags 将动态标签覆盖设置为 tag_dict 中指定的值,其中键是标签名称,字典值是要设置的标签值。

set_tags 方法应仅在对象的 __init__ 方法中(在构建期间)或通过 __init__ 直接在构建后调用。

当前标签值可以通过 get_tagsget_tag 查看。

参数
**tag_dictdict

标签名称:标签值的字典对。

返回
Self

对 self 的引用。

transform(X, y=None)[source]#

转换 X 并返回转换后的版本。

所需状态

要求状态为“已拟合”。

访问自身中的内容

  • 以“_”结尾的拟合模型属性。

  • self.is_fitted,必须为 True

参数
Xsktime 兼容数据容器格式的时间序列

要转换的数据。

sktime 中的个体数据格式是所谓的 mtype 规范,每个 mtype 实现了一个抽象 scitype

  • Series scitype = 单个时间序列。pd.DataFrame, pd.Series, 或 np.ndarray (1D 或 2D)

  • Panel scitype = 时间序列集合。带有 2 级行 MultiIndex (实例, 时间)pd.DataFrame3D np.ndarray (实例, 变量, 时间),或 Series 类型 pd.DataFramelist

  • Hierarchical scitype = 分层时间序列集合。带有 3 级或更多级行 MultiIndex (层次结构 1, ..., 层次结构 n, 时间)pd.DataFrame

有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅转换器教程 examples/03_transformers.ipynb

y可选,sktime 兼容数据格式的数据, 默认为 None

附加数据,例如用于转换的标签。某些转换器需要此数据,详情请参阅类文档字符串。

返回
X 的转换版本
类型取决于 X 的类型和 scitype:transform-output 标签

转换 (transform)

X

-输出

返回类型

时间序列 (Series)

基本类型 (Primitives)

pd.DataFrame (1行)

面板数据 (Panel)

基本类型 (Primitives)

pd.DataFrame

时间序列 (Series)

时间序列 (Series)

时间序列 (Series)

面板数据 (Panel)

时间序列 (Series)

面板数据 (Panel)

时间序列 (Series)

面板数据 (Panel)

面板数据 (Panel)

返回中的实例对应于 X 中的实例
表中未列出的组合目前不受支持
明确地,并附带示例
  • 如果 XSeries (例如,pd.DataFrame)

并且 transform-outputSeries,则返回是相同 mtype 的单个 Series。示例:对单个时间序列进行去趋势

  • 如果 XPanel (例如,pd-multiindex) 并且 transform-output

Series,则返回是与 X 具有相同实例数的 Panel (转换器应用于每个输入的 Series 实例)。示例:面板中的所有时间序列都单独去趋势

  • 如果 XSeriesPanel 并且 transform-output

Primitives,则返回是一个 pd.DataFrame,其行数与 X 中的实例数相同。示例:返回的第 i 行包含第 i 个时间序列的均值和方差

  • 如果 XSeries 并且 transform-outputPanel

则返回是一个类型为 pd-multiindexPanel 对象。示例:输出的第 i 个实例是运行在 X 上的第 i 个窗口

update(X, y=None, update_params=True)[source]#

使用 X 更新转换器,可选地使用 y。

所需状态

要求状态为“已拟合”。

访问自身中的内容

  • 以“_”结尾的拟合模型属性。

  • self.is_fitted,必须为 True

写入自身

  • 以“_”结尾的拟合模型属性。

  • 如果 remember_data 标签为 True,则通过 update_data 将数据写入 self._X,并用 X 中的值更新。

参数
Xsktime 兼容数据容器格式的时间序列

用于更新转换的数据

sktime 中的个体数据格式是所谓的 mtype 规范,每个 mtype 实现了一个抽象 scitype

  • Series scitype = 单个时间序列。pd.DataFrame, pd.Series, 或 np.ndarray (1D 或 2D)

  • Panel scitype = 时间序列集合。带有 2 级行 MultiIndex (实例, 时间)pd.DataFrame3D np.ndarray (实例, 变量, 时间),或 Series 类型 pd.DataFramelist

  • Hierarchical scitype = 分层时间序列集合。带有 3 级或更多级行 MultiIndex (层次结构 1, ..., 层次结构 n, 时间)pd.DataFrame

有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅转换器教程 examples/03_transformers.ipynb

y可选,sktime 兼容数据格式的数据, 默认为 None

附加数据,例如用于转换的标签。某些转换器需要此数据,详情请参阅类文档字符串。

返回
self评估器的拟合实例