MultiRocket¶
- class MultiRocket(n_kernels=6250, max_dilations_per_kernel=32, n_features_per_kernel=4, normalise=False, n_jobs=1, random_state=None)[source]¶
多随机卷积核变换(MultiRocket)。
MultiRocket [1] 在原始序列和一阶差分序列表示上使用与MiniRocket相同的核集合。它为每种表示使用不同的膨胀集合。除了正值的百分比(PPV)外,MultiRocket还增加了3个池化操作符:正值的平均值(MPV);正值索引的平均值(MIPV);以及正值的最长连续段(LSPV)。
- Parameters:
- n_kernelsint, default = 6,250
随机卷积核的数量。计算得到的特征数量是最接近的倍数,即
n_features_per_kernel(默认 4)*84=336 < 50,000(2*n_features_per_kernel(默认 4)*n_kernels(默认 6,250))。- max_dilations_per_kernelint, default = 32
每个内核的最大扩张次数。
- n_features_per_kernelint, default = 4
每个内核的特征数量。
- normalisebool, default False
是否对每个实例的输入时间序列进行归一化。
- n_jobsint, default=1
用于transform的并行运行作业数。
-1表示使用所有处理器。- random_stateNone or int, default = None
随机数生成的种子。
- Attributes:
- parametertuple
用于输入X转换的参数(dilations, n_features_per_dilation, biases)。
- parameter1tuple
用于输入转换的参数(dilations, n_features_per_dilation, biases)
X1 = np.diff(X, 1)。
另请参阅
注释
Capabilities ¶ 缺失值
无
多线程
是
逆变换
否
单变量
是
多变量
是
不等长
否
参考文献
[1]谭昌伟和邓普斯特,安格斯和伯格迈尔,克里斯托夫
Webb, Geoffrey I, “MultiRocket: 用于快速有效时间序列分类的多重池化操作符和变换”,2022, https://link.springer.com/article/10.1007/s10618-022-00844-1 https://arxiv.org/abs/2102.00457
示例
>>> from aeon.transformations.collection.convolution_based import MultiRocket >>> from aeon.datasets import load_unit_test >>> X_train, y_train = load_unit_test(split="train") >>> X_test, y_test = load_unit_test(split="test") >>> trf = MultiRocket(n_kernels=512) >>> trf.fit(X_train) MultiRocket(n_kernels=512) >>> X_train = trf.transform(X_train) >>> X_test = trf.transform(X_test)
方法
clone([random_state])获取具有相同超参数的对象的克隆。
fit(X[, y])将转换器拟合到X,如果是有监督的,可以选择使用y。
fit_transform(X[, y])拟合数据,然后转换它。
get_class_tag(tag_name[, raise_error, ...])从估计器类获取标签值(仅限类标签)。
从估计器类及其所有父类中获取类标签。
get_fitted_params([deep])获取拟合参数。
Sklearn 元数据路由。
get_params([deep])获取此估计器的参数。
get_tag(tag_name[, raise_error, ...])从估计器类中获取标签值。
get_tags()从估计器中获取标签。
inverse_transform(X[, y])反向转换X并返回一个反向转换后的版本。
reset([keep])将对象重置为初始化后的干净状态。
set_params(**params)设置此估计器的参数。
set_tags(**tag_dict)将动态标签设置为给定值。
transform(X[, y])转换X并返回转换后的版本。
- clone(random_state=None)[source]¶
获取具有相同超参数的对象克隆。
克隆是一个没有共享引用的不同对象,处于初始化后的状态。 这个函数等同于返回自身的
sklearn.clone。 在值上等同于type(self)(**self.get_params(deep=False))。- Parameters:
- random_stateint, RandomState instance, or None, default=None
设置克隆的随机状态。如果为None,则不设置随机状态。 如果为int,random_state是随机数生成器使用的种子。 如果为RandomState实例,random_state是随机数生成器。
- Returns:
- estimatorobject
type(self)的实例,self 的克隆(见上文)
- fit(X, y=None)[source]¶
将转换器拟合到X,如果是有监督的,可以选择使用y。
- State change:
将状态更改为“已拟合”。
写入自身: _is_fitted : 标志设置为True。 模型属性(以“_”结尾) : 依赖于估计器
- Parameters:
- Xnp.ndarray or list
要拟合转换的数据,必须是有效的集合类型。输入数据,可以是任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列,或者是形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列),2D np.array(n_channels, n_timepoints_i),其中n_timepoints_i是序列i的长度。允许其他类型的数据,并将其转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列。如果self.get_tag( "capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器无法处理的特性,则会引发ValueError。- ynp.ndarray, default=None
1D np.array 的浮点数或字符串,形状为
(n_cases)- 用于拟合的类标签(真实值),对应于 X 中的实例索引。如果为 None,则在拟合时不使用任何标签。
- Returns:
- selfa fitted instance of the estimator
- fit_transform(X, y=None)[source]¶
拟合数据,然后进行转换。
将转换器适配到X和y,并返回X的转换版本。
- State change:
将状态更改为“已拟合”。
写入自身: _is_fitted : 标志设置为 True。 模型属性(以“_”结尾) : 依赖于估计器。
- Parameters:
- Xnp.ndarray or list
要拟合转换的数据,必须是有效的集合类型。输入数据,可以是任意数量的通道,等长序列的形状为
(n_cases, n_channels, n_timepoints)或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列),2D np.array( n_channels, n_timepoints_i),其中n_timepoints_i是序列i的长度。允许其他类型的数据,并将其转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列。如果self.get_tag( "capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器无法处理的特性,则会引发ValueError。- ynp.ndarray, default=None
1D np.array 的浮点数或字符串,形状为
(n_cases)- 用于拟合的类标签(真实值),对应于 X 中的实例索引。如果为 None,则在拟合时不使用任何标签。
- Returns:
- transformed version of X
- classmethod get_class_tag(tag_name, raise_error=True, tag_value_default=None)[source]¶
从估计器类获取标签值(仅限类标签)。
- Parameters:
- tag_namestr
标签值的名称。
- raise_errorbool, default=True
当未找到标签时是否引发ValueError。
- tag_value_defaultany type, default=None
如果未找到标签且未引发错误,则使用默认/回退值。
- Returns:
- tag_value
cls中
tag_name标签的值。 如果未找到,当raise_error为True时返回错误,否则返回tag_value_default。
- Raises:
- ValueError
如果
raise_error为 True 并且tag_name不在self.get_tags().keys()中
示例
>>> from aeon.classification import DummyClassifier >>> DummyClassifier.get_class_tag("capability:multivariate") True
- classmethod get_class_tags()[source]¶
从估计器类及其所有父类获取类标签。
- Returns:
- collected_tagsdict
标签名称和标签值对的字典。 通过嵌套继承从
_tags类属性中收集。 这些不会被set_tags或类__init__调用设置的动态标签覆盖。
- get_fitted_params(deep=True)[source]¶
获取拟合参数。
- State required:
需要状态为“已拟合”。
- Parameters:
- deepbool, default=True
如果为True,将返回此估计器的拟合参数以及包含的作为估计器的子对象。
- Returns:
- fitted_paramsdict
拟合参数名称映射到它们的值。
- get_params(deep=True)[source]¶
获取此估计器的参数。
- Parameters:
- deepbool, default=True
如果为True,将返回此估计器及其包含的子对象的参数。
- Returns:
- paramsdict
参数名称映射到它们的值。
- get_tag(tag_name, raise_error=True, tag_value_default=None)[source]¶
从估计器类获取标签值。
包括动态和覆盖的标签。
- Parameters:
- tag_namestr
要检索的标签名称。
- raise_errorbool, default=True
当未找到标签时是否引发ValueError。
- tag_value_defaultany type, default=None
如果未找到标签且未引发错误,则使用默认/回退值。
- Returns:
- tag_value
自身中
tag_name标签的值。 如果未找到,当raise_error为True时返回错误,否则返回tag_value_default。
- Raises:
- ValueError
如果 raise_error 是
True并且tag_name不在self.get_tags().keys()中
示例
>>> from aeon.classification import DummyClassifier >>> d = DummyClassifier() >>> d.get_tag("capability:multivariate") True
- get_tags()[source]¶
从估计器中获取标签。
包括动态和覆盖的标签。
- Returns:
- collected_tagsdict
标签名称和标签值对的字典。 通过嵌套继承从
_tags类属性收集,然后从__init__或set_tags中收集任何被覆盖和新添加的标签。
- inverse_transform(X, y=None)[source]¶
对X进行逆变换并返回逆变换后的版本。
- Currently it is assumed that only transformers with tags
“input_data_type”=”Series”, “output_data_type”=”Series”,
可以有一个逆变换。
- State required:
需要状态为“已拟合”。
- Accesses in self:
_is_fitted : 必须为 True 拟合模型属性(以“_”结尾): 通过 _inverse_transform 访问
- Parameters:
- Xnp.ndarray or list
要拟合转换的数据,必须是有效的集合类型。输入数据,可以是任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列,或者是形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列),2D np.array(n_channels, n_timepoints_i),其中n_timepoints_i是序列i的长度。允许其他类型的数据,并将其转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列。如果self.get_tag( "capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器无法处理的特性,则会引发ValueError。- ynp.ndarray, default=None
1D np.array 的浮点数或字符串,形状为
(n_cases)- 用于拟合的类标签(真实值),对应于 X 中的实例索引。如果为 None,则在拟合时不使用任何标签。
- Returns:
- inverse transformed version of X
与X类型相同
- reset(keep=None)[source]¶
将对象重置为初始化后的干净状态。
在调用
self.reset()之后,self的值等于或类似于type(self)(**self.get_params(deep=False)),假设没有使用keep保留其他属性。- Detailed behaviour:
- removes any object attributes, except:
超参数(
__init__的参数) 包含双下划线的对象属性,即字符串“__”
使用当前超参数的值(
get_params的结果)运行__init__- Not affected by the reset are:
包含双下划线的对象属性 类和对象方法,类属性 在
keep参数中指定的任何属性
- Parameters:
- keepNone, str, or list of str, default=None
如果为None,则除了超参数外,所有属性都将被移除。 如果为str,则仅保留具有此名称的属性。 如果为str列表,则仅保留具有这些名称的属性。
- Returns:
- selfobject
自我引用。
- set_params(**params)[source]¶
设置此估计器的参数。
该方法适用于简单的估计器以及嵌套对象(如
Pipeline)。后者具有<component>__<parameter>形式的参数,以便可以更新嵌套对象的每个组件。- Parameters:
- **paramsdict
估计器参数。
- Returns:
- selfestimator instance
估计器实例。
- set_tags(**tag_dict)[source]¶
将动态标签设置为给定值。
- Parameters:
- **tag_dictdict
标签名称和标签值对的字典。
- Returns:
- selfobject
自我引用。
- transform(X, y=None)[source]¶
转换X并返回转换后的版本。
- State required:
需要状态为“已拟合”。
访问自身: _is_fitted : 必须为 True 拟合模型属性(以“_”结尾) : 必须设置,通过 _transform 访问
- Parameters:
- Xnp.ndarray or list
要拟合转换的数据,必须是有效的集合类型。输入数据,可以是任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列,或者是形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列),2D np.array(n_channels, n_timepoints_i),其中n_timepoints_i是序列i的长度。允许其他类型的数据,并将其转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列。如果self.get_tag( "capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器无法处理的特性,则会引发ValueError。- ynp.ndarray, default=None
1D np.array 的浮点数或字符串,形状为
(n_cases)- 用于拟合的类标签(真实值),对应于 X 中的实例索引。如果为 None,则在拟合时不使用任何标签。
- Returns:
- transformed version of X