VmdTransformer#
- class VmdTransformer(K=None, kMax=30, alpha=2000, tau=0.0, DC=0, init=1, tol=1e-07, energy_loss_coefficient=0.01, returned_decomp='u')[source]#
变分模态分解变换器。
变分模态分解方法(2014)的实现 [1],基于
vrcarva
的vmdpy
包 [3],而vmdpy
又基于 Dragomiretskiy 和 Zosso 的原始 MATLAB 实现 [1]。此变换器是
vmdpy
包的官方延续,在sktime
中维护。VMD 是一种分解(序列到序列)变换器,它使用变分模态分解方法将原始时间序列分解为多个固有模态函数 (Intrinsic Mode Functions)。生成的固有模态函数数量取决于 K 参数,如果已知,则应进行优化定义。如果 K 参数未知,此变换器将通过比较原始时间序列与使用能量损失系数(默认为 0.01)重构的信号来尝试找到一个较好的估计值。在这种情况下,将使用满足其中一个条件的最低 K 值进行
transform
。如果您有一个复杂的时间序列,并且想要将其分解为更容易学习的 IMF,当这些 IMF 相加时,会构成原始时间序列的估计值,并带有一些信息损失,这将非常有用。
- 参数:
- Kint, optional (default='None')
将原始序列分解成的固有模态函数数量。如果为 None,则会使用递增的 K 值迭代分解序列,直到达到 kMax 或分解模态之和与原始序列之间的能量损失系数小于
energy_loss_coefficient
参数(两者中先发生者)。在这种情况下,transform
中将使用满足其中一个条件的最低 K 值。- kMaxint, optional (default=30)
如果未达到
energy_loss_coefficient
,则对原始序列进行分解的固有模态函数数量的上限。仅在K
为None
时使用,否则忽略。- energy_loss_coefficientint, optional (default=0.01)
根据能量损失系数计算,决定了分解模态相加时原始序列可接受的信息损失量。仅在
K
为None
时使用,否则忽略。- alphaint, optional (default=2000)
生成固有模态函数的带宽约束,数据保真度约束的平衡参数
- tauint, optional (default=0.)
生成模态的噪声容忍度,对偶上升的时间步长
- DCint, optional (default=0)
强加的直流部分
- initint, optional (default=1)
omegas 的参数,默认为 1,将均匀初始化 omegas,1 = 所有 omegas 均匀初始化,0 = 所有 omegas 从 0 开始,2 = 所有 omegas 随机初始化
- tolint, optional (default=1e-7)
收敛容差准则
- returned_decompbool, optional (default=”u”)
transform
返回哪个分解对象"u"
: 分解的模态"u_hat"
: 模态谱(绝对值)"u_both"
: 分解的模态和模态谱都返回,这些将列连接返回,先是模态,然后是模态谱
- 属性:
is_fitted
是否已调用
fit
。
参考文献
[1] (1,2)K. Dragomiretskiy 和 D. Zosso, - 变分模态分解:IEEE Transactions on Signal Processing, vol. 62, no. 3, pp. 531-544, Feb.1, 2014, doi: 10.1109/TSP.2013.2288675。
[2]Vinícius R. Carvalho, Márcio F.D. Moraes, Antônio P. Braga, Eduardo M.A.M. Mendes - 评估五种不同的自适应分解方法用于脑电信号癫痫检测和分类,Biomedical Signal Processing and Control, Volume 62, 2020, 102073, ISSN 1746-8094 https://doi.org/10.1016/j.bspc.2020.102073。
示例
>>> from sktime.transformations.series.vmd import VmdTransformer >>> from sktime.datasets import load_solar >>> y = load_solar() >>> transformer = VmdTransformer() >>> modes = transformer.fit_transform(y)
VmdTransformer 可用于预测管道,用于分解、预测单个分量,然后重新组合:>>> from sktime.forecasting.trend import TrendForecaster # doctest: +SKIP >>> pipe = VmdTransformer() * TrendForecaster() # doctest: +SKIP >>> pipe.fit(y, fh=[1, 2, 3]) # doctest: +SKIP >>> y_pred = pipe.predict() # doctest: +SKIP
方法
check_is_fitted
([method_name])检查评估器是否已拟合。
克隆
()获取具有相同超参数和配置的对象的克隆。
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])从类中获取类标签值,并从父类继承标签级别。
从类中获取类标签,并从父类继承标签级别。
获取 self 的配置标志。
get_fitted_params
([deep])获取拟合参数。
获取对象的参数默认值。
get_param_names
([sort])获取对象的参数名称。
get_params
([deep])获取此对象的参数值字典。
get_tag
(tag_name[, tag_value_default, ...])从实例获取标签值,并带有标签级别继承和覆盖。
get_tags
()从实例获取标签,并带有标签级别继承和覆盖。
get_test_params
([parameter_set])返回评估器的测试参数设置。
inverse_transform
(X[, y])逆变换 X 并返回逆变换后的版本。
检查对象是否由其他 BaseObjects 组成。
load_from_path
(serial)从文件位置加载对象。
load_from_serial
(serial)从序列化内存容器加载对象。
reset
()将对象重置为干净的初始化后状态。
save
([path, serialization_format])将序列化的 self 保存到字节类对象或 (.zip) 文件。
set_config
(**config_dict)将配置标志设置为给定值。
set_params
(**params)设置此对象的参数。
set_random_state
([random_state, deep, ...])为 self 设置 random_state 伪随机种子参数。
set_tags
(**tag_dict)设置实例级标签覆盖为给定值。
transform
(X[, y])转换 X 并返回转换后的版本。
update
(X[, y, update_params])用 X 更新变换器,可选地用 y 更新。
- classmethod get_test_params(parameter_set='default')[source]#
返回评估器的测试参数设置。
- 参数:
- parameter_setstr, default=”default”
要返回的测试参数集的名称,用于测试。如果某个值没有定义特殊参数,则将返回
"default"
集。目前变换器没有保留值。
- 返回:
- paramsdict or list of dict, default = {}
创建类的测试实例的参数。每个 dict 都是构造一个“有趣”测试实例的参数,即
MyClass(**params)
或MyClass(**params[i])
创建一个有效的测试实例。create_test_instance
使用params
中的第一个(或唯一一个)字典。
- check_is_fitted(method_name=None)[source]#
检查评估器是否已拟合。
检查
_is_fitted
属性是否存在且为True
。is_fitted
属性应在调用对象的fit
方法时设置为True
。如果不是,则引发
NotFittedError
。- 参数:
- method_namestr, optional
调用此函数的方法的名称。如果提供,错误消息将包含此信息。
- 引发:
- NotFittedError
如果评估器尚未拟合。
- clone()[source]#
获取具有相同超参数和配置的对象的克隆。
克隆是一个没有共享引用的不同对象,处于初始化后状态。此函数等同于返回
sklearn.clone
的self
。等同于构造一个新的
type(self)
实例,参数与self
相同,即type(self)(**self.get_params(deep=False))
。如果在
self
上设置了配置,克隆也将具有与原始对象相同的配置,等同于调用cloned_self.set_config(**self.get_config())
。值上也等同于调用
self.reset
,区别在于clone
返回一个新对象,而不是像reset
那样改变self
。- 引发:
- 如果克隆不符合规范,则发生 RuntimeError,原因在于
__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_tags
或get_tag
检查。- 参数:
- estimator:class:BaseObject 或派生类的实例
- tag_namesstr 或 list of str, default = None
要克隆的标签名称。默认值 (
None
) 克隆estimator
中的所有标签。
- 返回:
- self
对
self
的引用。
- classmethod create_test_instance(parameter_set='default')[source]#
使用第一个测试参数集构造类的实例。
- 参数:
- parameter_setstr, default=”default”
要返回的测试参数集的名称,用于测试。如果未为某个值定义特殊参数,则将返回 “default” 集。
- 返回:
- instance具有默认参数的类实例
- classmethod create_test_instances_and_names(parameter_set='default')[source]#
创建所有测试实例的列表和它们的名称列表。
- 参数:
- parameter_setstr, default=”default”
要返回的测试参数集的名称,用于测试。如果未为某个值定义特殊参数,则将返回 “default” 集。
- 返回:
- objscls 实例列表
第 i 个实例是
cls(**cls.get_test_params()[i])
- nameslist of str, 与 objs 长度相同
第 i 个元素是测试中第 i 个 obj 实例的名称。如果实例多于一个,命名约定为
{cls.__name__}-{i}
,否则为{cls.__name__}
- fit(X, y=None)[source]#
将变换器拟合到 X,可选拟合到 y。
- 状态改变
将状态更改为“已拟合”。
写入 self
设置以“_”结尾的拟合模型属性,拟合属性可通过
get_fitted_params
检查。将
self.is_fitted
标志设置为True
。如果
self.get_tag("remember_data")
为True
,则将 X 记忆为self._X
,并强制转换为self.get_tag("X_inner_mtype")
。
- 参数:
- X
sktime
兼容数据容器格式的时间序列 要拟合变换的数据。
sktime
中的单个数据格式是所谓的 mtype 规范,每个 mtype 实现一个抽象的 scitype。Series
scitype = 单个时间序列。pd.DataFrame
、pd.Series
或np.ndarray
(1D 或 2D)Panel
scitype = 时间序列集合。pd.DataFrame
,行索引为 2 级MultiIndex
(instance, time)
,3D np.ndarray
(instance, variable, time)
,Series
类型的pd.DataFrame
的list
Hierarchical
scitype = 分层时间序列集合。pd.DataFrame
,行索引为 3 级或更多级MultiIndex
(hierarchy_1, ..., hierarchy_n, time)
有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅变换器教程
examples/03_transformers.ipynb
- yoptional, sktime 兼容数据格式的数据, default=None
额外数据,例如用于变换的标签。某些变换器需要此参数,详细信息请参见类文档字符串。如果
self.get_tag("requires_y")
为True
,则必须在fit
中传入,不可选。对于所需格式,详细信息请参见类文档字符串。
- X
- 返回:
- self评估器的拟合实例
- fit_transform(X, y=None)[source]#
拟合数据,然后转换数据。
将变换器拟合到 X 和 y,并返回 X 的变换版本。
- 状态改变
将状态更改为“已拟合”。
写入 self: _is_fitted : 标志设置为 True。_X : X 的强制副本,如果 remember_data 标签为 True
如果可能,强制转换为内部类型或 update_data 兼容类型。
模型属性(以“_”结尾):取决于评估器。
- 参数:
- X
sktime
兼容数据容器格式的时间序列 要拟合变换的数据,以及要变换的数据。
sktime
中的单个数据格式是所谓的 mtype 规范,每个 mtype 实现一个抽象的 scitype。Series
scitype = 单个时间序列。pd.DataFrame
、pd.Series
或np.ndarray
(1D 或 2D)Panel
scitype = 时间序列集合。pd.DataFrame
,行索引为 2 级MultiIndex
(instance, time)
,3D np.ndarray
(instance, variable, time)
,Series
类型的pd.DataFrame
的list
Hierarchical
scitype = 分层时间序列集合。pd.DataFrame
,行索引为 3 级或更多级MultiIndex
(hierarchy_1, ..., hierarchy_n, time)
有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅变换器教程
examples/03_transformers.ipynb
- yoptional, sktime 兼容数据格式的数据, default=None
额外数据,例如用于变换的标签。某些变换器需要此参数,详细信息请参见类文档字符串。如果
self.get_tag("requires_y")
为True
,则必须在fit
中传入,不可选。对于所需格式,详细信息请参见类文档字符串。
- X
- 返回:
- 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 中的实例。
- 表中未列出的组合目前不支持。
- 明确地,举例说明
如果
X
是Series
(例如,pd.DataFrame
)
并且
transform-output
是Series
,则返回是相同 mtype 的单个 Series。示例:对单个序列进行去趋势。如果
X
是Panel
(例如,pd-multiindex
)并且transform-output
是
Series
,则返回是与X
实例数量相同的 Panel(变换器应用于每个输入的 Series 实例)。示例:面板中的所有序列单独进行去趋势。如果
X
是Series
或Panel
并且transform-output
是
Primitives
,则返回是pd.DataFrame
,行数与X
中的实例数量相同。示例:返回的第 i 行是第 i 个序列的均值和方差。如果
X
是Series
并且transform-output
是Panel
,
则返回是一个类型为
pd-multiindex
的Panel
对象。示例:输出的第 i 个实例是运行在X
上的第 i 个窗口。
- classmethod get_class_tag(tag_name, tag_value_default=None)[source]#
从类中获取类标签值,并从父类继承标签级别。
每个
scikit-base
兼容对象都有一个标签字典,用于存储有关对象的元数据。get_class_tag
方法是类方法,仅考虑类级别标签值和覆盖来检索标签值。它返回名称为
tag_name
的标签值,考虑标签覆盖,优先级降序排列如下:在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
不考虑通过
set_tags
或clone_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
属性的任何键。值是相应的标签值,覆盖的优先级降序排列如下:
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
实例可以根据超参数覆盖这些标签。
要获取包含潜在实例覆盖的标签,请使用
get_tags
方法。不考虑通过
set_tags
或clone_tags
在实例上设置的动态标签覆盖。要包含动态标签的覆盖,请使用
get_tags
。- collected_tagsdict
标签名称 : 标签值对字典。通过嵌套继承从
_tags
类属性收集。不被set_tags
或clone_tags
设置的动态标签覆盖。
- get_config()[source]#
获取 self 的配置标志。
配置是
self
的键值对,通常用作控制行为的临时标志。get_config
返回动态配置,它们会覆盖默认配置。默认配置在类或其父类的类属性
_config
中设置,并被通过set_config
设置的动态配置覆盖。配置在
clone
或reset
调用下保留。- 返回:
- config_dictdict
配置名称 : 配置值对字典。通过嵌套继承从 _config 类属性收集,然后通过 _onfig_dynamic 对象属性收集任何覆盖和新标签。
- get_fitted_params(deep=True)[source]#
获取拟合参数。
- 所需状态
需要状态为“已拟合”。
- 参数:
- deepbool, default=True
是否返回组件的拟合参数。
如果为 True,将返回此对象的参数名称 : 值字典,包括可拟合组件(= BaseEstimator 值的参数)的拟合参数。
如果为 False,将返回此对象的参数名称 : 值字典,但不包括组件的拟合参数。
- 返回:
- fitted_paramsstr 键的 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, default=True
是否按字母顺序返回参数名称 (True),或按它们在类
__init__
中出现的顺序返回参数名称 (False)。
- 返回:
- param_names: list[str]
cls
的参数名称列表。如果sort=False
,则顺序与它们在类__init__
中出现的顺序相同。如果sort=True
,则按字母顺序排列。
- get_params(deep=True)[source]#
获取此对象的参数值字典。
- 参数:
- deepbool, default=True
是否返回组件的参数。
如果为
True
,将返回此对象的参数名称 : 值dict
,包括组件的参数(=BaseObject
值的参数)。如果为
False
,将返回此对象的参数名称 : 值dict
,但不包括组件的参数。
- 返回:
- paramsstr 键的 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
的单个标签值,考虑标签覆盖,优先级降序排列如下:通过
set_tags
或clone_tags
在实例上设置的标签,
在实例构建时。
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
- 参数:
- tag_namestr
要检索的标签名称。
- tag_value_defaultany type, optional; default=None
如果找不到标签,则使用的默认/回退值。
- raise_errorbool
如果找不到标签,是否引发
ValueError
。
- 返回:
- tag_valueAny
self
中tag_name
标签的值。如果未找到,如果raise_error
为 True,则引发错误,否则返回tag_value_default
。
- 引发:
- ValueError,如果
raise_error
为True
。 如果
tag_name
不在self.get_tags().keys()
中,则引发ValueError
。
- ValueError,如果
- get_tags()[source]#
从实例获取标签,并带有标签级别继承和覆盖。
每个
scikit-base
兼容对象都有一个标签字典。标签可用于存储有关对象的元数据,或控制对象的行为。标签是特定于实例
self
的键值对,它们是构建对象后不会更改的静态标志。get_tags
方法返回一个标签字典,键是类或其任何父类中_tags
属性的任何键,或通过set_tags
或clone_tags
设置的标签。值是相应的标签值,覆盖的优先级降序排列如下:
通过
set_tags
或clone_tags
在实例上设置的标签,
在实例构建时。
在类的
_tags
属性中设置的标签。在父类的
_tags
属性中设置的标签,
按继承顺序。
- 返回:
- collected_tagsdict
标签名称 : 标签值对字典。通过嵌套继承从
_tags
类属性收集,然后通过_tags_dynamic
对象属性收集任何覆盖和新标签。
- inverse_transform(X, y=None)[source]#
逆变换 X 并返回逆变换后的版本。
- 目前假设只有带有标签的变换器
"scitype:transform-input"="Series", "scitype:transform-output"="Series",
具有 inverse_transform。
- 所需状态
需要状态为“已拟合”。
访问 self 中的属性
以“_”结尾的拟合模型属性。
self.is_fitted
,必须为 True。
- 参数:
- X
sktime
兼容数据容器格式的时间序列 要拟合变换的数据。
sktime
中的单个数据格式是所谓的 mtype 规范,每个 mtype 实现一个抽象的 scitype。Series
scitype = 单个时间序列。pd.DataFrame
、pd.Series
或np.ndarray
(1D 或 2D)Panel
scitype = 时间序列集合。pd.DataFrame
,行索引为 2 级MultiIndex
(instance, time)
,3D np.ndarray
(instance, variable, time)
,Series
类型的pd.DataFrame
的list
Hierarchical
scitype = 分层时间序列集合。pd.DataFrame
,行索引为 3 级或更多级MultiIndex
(hierarchy_1, ..., hierarchy_n, time)
有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅变换器教程
examples/03_transformers.ipynb
- yoptional, sktime 兼容数据格式的数据, default=None
额外数据,例如用于变换的标签。某些变换器需要此参数,详细信息请参见类文档字符串。
- X
- 返回:
- 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”) 的结果
- 返回:
- 反序列化 self,结果输出到
path
,来自cls.save(path)
- 反序列化 self,结果输出到
- classmethod load_from_serial(serial)[source]#
从序列化内存容器加载对象。
- 参数:
- serial
cls.save(None)
输出的第一个元素
- serial
- 返回:
- 反序列化自身,得到输出
serial
,来自cls.save(None)
- 反序列化自身,得到输出
- 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]#
将序列化的 self 保存到字节类对象或 (.zip) 文件。
行为:如果
path
为 None,则返回一个内存中的序列化自身;如果path
是文件位置,则将自身存储在该位置为一个 zip 文件。保存的文件是 zip 文件,包含以下内容:_metadata - 包含自身的类,即 type(self);_obj - 序列化自身。此类别使用默认序列化(pickle)。
- 参数:
- pathNone 或文件位置 (str 或 Path)
如果为 None,自身将保存到内存对象中;如果是文件位置,自身将保存到该文件位置。如果
path=”estimator”,则会在当前工作目录 (cwd) 下创建一个名为
estimator.zip
的 zip 文件。path=”/home/stored/estimator”,则会在
存储在
/home/stored/
中的一个名为estimator.zip
的 zip 文件。- serialization_format: str,默认值 = “pickle”
用于序列化的模块。可用选项为“pickle”和“cloudpickle”。请注意,非默认格式可能需要安装其他软依赖项。
- 返回:
- 如果
path
为 None - 内存中的序列化自身 - 如果
path
是文件位置 - 引用该文件的 ZipFile
- 如果
- set_config(**config_dict)[source]#
将配置标志设置为给定值。
- 参数:
- config_dictdict
配置名称:配置值对的字典。有效的配置、值及其含义列在下面
- displaystr,“diagram”(默认)或“text”
jupyter 内核如何显示自身的实例
“diagram” = html 盒图表示
“text” = 字符串打印输出
- print_changed_onlybool,默认值=True
打印自身时是否仅列出与默认值不同的自身参数 (False),或列出所有参数名称和值 (False)。不进行嵌套,即仅影响自身,不影响组件估计器。
- warningsstr,“on”(默认)或“off”
是否引发警告,仅影响来自 sktime 的警告
“on” = 将引发来自 sktime 的警告
“off” = 不会引发来自 sktime 的警告
- backend:parallelstr,可选,默认值=”None”
广播/向量化时用于并行化的后端,以下之一:
“None”:顺序执行循环,简单的列表推导
“loky”, “multiprocessing” 和 “threading”:使用
joblib.Parallel
“joblib”:自定义和第三方
joblib
后端,例如spark
“dask”:使用
dask
,需要在环境中安装dask
包“ray”:使用
ray
,需要在环境中安装ray
包
- backend:parallel:paramsdict,可选,默认值={}(不传递参数)
作为配置传递给并行化后端的附加参数。有效键取决于
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_jobs
,在这种情况下必须将backend
作为backend_params
的一个键传递。如果未传递n_jobs
,它将默认为-1
,其他参数将默认为joblib
的默认值。“dask”:可以传递
dask.compute
的任何有效键,例如scheduler
“ray”:可以传递以下键
“ray_remote_args”:
ray.init
的有效键字典- “shutdown_ray”:bool,默认值=True;False 会阻止
ray
在 并行化后关闭。
- “shutdown_ray”:bool,默认值=True;False 会阻止
“logger_name”:str,默认值=”ray”;要使用的日志记录器名称。
“mute_warnings”:bool,默认值=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自身引用。
注意
改变对象状态,将 config_dict 中的配置复制到 self._config_dynamic。
- set_params(**params)[source]#
设置此对象的参数。
该方法适用于简单的 skbase 对象和复合对象。参数键字符串
<component>__<parameter>
可用于复合对象,即包含其他对象的对象,以访问组件<component>
中的<parameter>
。如果引用明确无歧义(例如,没有两个组件的参数名称相同为<parameter>
),也可以使用不带<component>__
的字符串<parameter>
。- 参数:
- **paramsdict
BaseObject 参数,键必须是
<component>__<parameter>
字符串。如果__
后缀在 get_params 键中是唯一的,则可以作为完整字符串的别名。
- 返回:
- self自身引用(参数设置后)
- set_random_state(random_state=None, deep=True, self_policy='copy')[source]#
为 self 设置 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, default=True
是否在值为 skbase 对象的参数中设置随机状态,即组件估计器。
如果为 False,则仅设置
self
的random_state
参数(如果存在)。如果为 True,则也会在组件对象中设置
random_state
参数。
- self_policystr,{“copy”, “keep”, “new”} 之一,默认值=”copy”
“copy”:
self.random_state
被设置为输入的random_state
“keep”:
self.random_state
保持不变“new”:
self.random_state
被设置为一个新的随机状态,
从输入的
random_state
派生,并且通常与它不同
- 返回:
- self自身引用
- set_tags(**tag_dict)[source]#
设置实例级标签覆盖为给定值。
每个
scikit-base
兼容对象都有一个标签字典,用于存储有关对象的元数据。标签是特定于实例
self
的键值对,它们是对象构造后不改变的静态标志。它们可用于元数据检查或控制对象的行为。set_tags
将动态标签覆盖设置为tag_dict
中指定的值,其中键是标签名称,字典值是要设置的标签值。`set_tags` 方法应仅在对象的
__init__
方法中调用,即在构造期间或通过__init__
直接构造后调用。当前标签值可通过
get_tags
或get_tag
检查。- 参数:
- **tag_dictdict
标签名称:标签值对的字典。
- 返回:
- 自身
自身引用。
- transform(X, y=None)[source]#
转换 X 并返回转换后的版本。
- 所需状态
需要状态为“已拟合”。
访问 self 中的属性
以“_”结尾的拟合模型属性。
self.is_fitted
,必须为 True。
- 参数:
- X
sktime
兼容数据容器格式的时间序列 要转换的数据。
sktime
中的单个数据格式是所谓的 mtype 规范,每个 mtype 实现一个抽象的 scitype。Series
scitype = 单个时间序列。pd.DataFrame
、pd.Series
或np.ndarray
(1D 或 2D)Panel
scitype = 时间序列集合。pd.DataFrame
,行索引为 2 级MultiIndex
(instance, time)
,3D np.ndarray
(instance, variable, time)
,Series
类型的pd.DataFrame
的list
Hierarchical
scitype = 分层时间序列集合。pd.DataFrame
,行索引为 3 级或更多级MultiIndex
(hierarchy_1, ..., hierarchy_n, time)
有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅变换器教程
examples/03_transformers.ipynb
- yoptional, sktime 兼容数据格式的数据, default=None
额外数据,例如用于变换的标签。某些变换器需要此参数,详细信息请参见类文档字符串。
- X
- 返回:
- X 的变换版本
- 类型取决于 X 的类型和 scitype:transform-output 标签。
转换
X
-输出
返回类型
时间序列 (Series)
基本类型 (Primitives)
pd.DataFrame (1 行)
面板 (Panel)
基本类型 (Primitives)
pd.DataFrame
时间序列 (Series)
时间序列 (Series)
时间序列 (Series)
面板 (Panel)
时间序列 (Series)
面板 (Panel)
时间序列 (Series)
面板 (Panel)
面板 (Panel)
- 返回中的实例对应于 X 中的实例。
- 表中未列出的组合目前不支持。
- 明确地,举例说明
如果
X
是Series
(例如,pd.DataFrame
)
并且
transform-output
是Series
,则返回是相同 mtype 的单个 Series。示例:对单个序列进行去趋势。如果
X
是Panel
(例如,pd-multiindex
)并且transform-output
是
Series
,则返回是与X
实例数量相同的 Panel(变换器应用于每个输入的 Series 实例)。示例:面板中的所有序列单独进行去趋势。如果
X
是Series
或Panel
并且transform-output
是
Primitives
,则返回是pd.DataFrame
,行数与X
中的实例数量相同。示例:返回的第 i 行是第 i 个序列的均值和方差。如果
X
是Series
并且transform-output
是Panel
,
则返回是一个类型为
pd-multiindex
的Panel
对象。示例:输出的第 i 个实例是运行在X
上的第 i 个窗口。
- update(X, y=None, update_params=True)[source]#
用 X 更新变换器,可选地用 y 更新。
- 所需状态
需要状态为“已拟合”。
访问 self 中的属性
以“_”结尾的拟合模型属性。
self.is_fitted
,必须为 True。
写入 self
以“_”结尾的拟合模型属性。
如果
remember_data
标签为 True,则通过update_data
写入到由X
中的值更新后的self._X
。
- 参数:
- X
sktime
兼容数据容器格式的时间序列 用于更新转换的数据
sktime
中的单个数据格式是所谓的 mtype 规范,每个 mtype 实现一个抽象的 scitype。Series
scitype = 单个时间序列。pd.DataFrame
、pd.Series
或np.ndarray
(1D 或 2D)Panel
scitype = 时间序列集合。pd.DataFrame
,行索引为 2 级MultiIndex
(instance, time)
,3D np.ndarray
(instance, variable, time)
,Series
类型的pd.DataFrame
的list
Hierarchical
scitype = 分层时间序列集合。pd.DataFrame
,行索引为 3 级或更多级MultiIndex
(hierarchy_1, ..., hierarchy_n, time)
有关数据格式的更多详细信息,请参阅 mtype 词汇表。有关用法,请参阅变换器教程
examples/03_transformers.ipynb
- yoptional, sktime 兼容数据格式的数据, default=None
额外数据,例如用于变换的标签。某些变换器需要此参数,详细信息请参见类文档字符串。
- X
- 返回:
- self评估器的拟合实例