MultiRocketHydraClassifier¶
- class MultiRocketHydraClassifier(n_kernels=8, n_groups=64, class_weight=None, n_jobs=1, random_state=None)[source]¶
MultiRocket-Hydra 分类器。
Hydra和MultiRocket算法的组合。该算法将两个算法的输出连接起来,并在组合特征上训练一个线性分类器。
请参阅各个分类器/转换器以获取更多详细信息。
- Parameters:
- n_kernelsint, default=8
Hydra变换中每组的核数。
- n_groupsint, default=64
Hydra变换中每个膨胀的组数。
- class_weight{“balanced”, “balanced_subsample”}, dict or list of dicts, default=None
来自sklearn文档: 如果未给出,则假设所有类的权重为一。 “balanced”模式使用y的值自动调整权重,与输入数据中的类频率成反比,即 n_samples / (n_classes * np.bincount(y)) “balanced_subsample”模式与“balanced”相同,只是权重是基于每棵树的引导样本计算的。 对于多输出,y的每一列的权重将被相乘。 请注意,如果指定了sample_weight(通过fit方法传递),这些权重将与sample_weight相乘。
- n_jobsint, default=1
用于fit和predict的并行任务数。
-1表示使用所有处理器。- random_stateint, RandomState instance or None, default=None
如果int,random_state是随机数生成器使用的种子; 如果RandomState实例,random_state是随机数生成器; 如果None,随机数生成器是np.random使用的RandomState实例。
- Attributes:
- n_classes_int
类的数量。从数据中提取。
- classes_ndarray of shape (n_classes_)
保存每个类的标签。
注释
Capabilities ¶ 缺失值
无
多线程
是
单变量
是
多变量
是
不等长
否
训练估计
否
可收缩
否
参考文献
[1]Dempster, A., Schmidt, D.F. 和 Webb, G.I., 2023. Hydra: 竞争卷积核用于快速准确的时间序列分类。数据挖掘与知识发现, pp.1-27.
示例
>>> from aeon.classification.convolution_based import MultiRocketHydraClassifier >>> from aeon.testing.data_generation import make_example_3d_numpy >>> X, y = make_example_3d_numpy(n_cases=10, n_channels=1, n_timepoints=12, ... random_state=0) >>> clf = MultiRocketHydraClassifier(random_state=0) >>> clf.fit(X, y) MultiRocketHydraClassifier(random_state=0) >>> clf.predict(X) array([0, 1, 0, 1, 0, 0, 1, 1, 1, 0])
方法
clone([random_state])获取具有相同超参数的对象的克隆。
fit(X, y)将时间序列分类器拟合到训练数据。
fit_predict(X, y, **kwargs)拟合分类器并预测X的类别标签。
fit_predict_proba(X, y, **kwargs)拟合分类器并预测X的类别标签概率。
get_class_tag(tag_name[, raise_error, ...])从估计器类获取标签值(仅限类标签)。
从估计器类及其所有父类中获取类标签。
get_fitted_params([deep])获取拟合参数。
Sklearn 元数据路由。
get_params([deep])获取此估计器的参数。
get_tag(tag_name[, raise_error, ...])从估计器类中获取标签值。
get_tags()从估计器中获取标签。
predict(X)预测X中时间序列的类别标签。
预测X中时间序列的类别标签概率。
reset([keep])将对象重置为初始化后的干净状态。
score(X, y[, metric, use_proba, metric_params])在X上对预测标签与真实标签进行评分。
set_params(**params)设置此估计器的参数。
set_tags(**tag_dict)将动态标签设置为给定值。
- 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) BaseCollectionEstimator[source]¶
将时间序列分类器拟合到训练数据。
- Parameters:
- Xnp.ndarray or list
输入数据,可以是任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列,或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列),或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列), 其中每个数组为2D np.array(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。其他类型的数据也是允许的,并且会被转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。- ynp.ndarray
1D np.array 的 float 或 str,形状为
(n_cases)- 类标签 (真实值)用于拟合与 X 中实例索引对应的索引。
- Returns:
- selfBaseClassifier
自我引用。
注释
通过创建一个拟合模型来改变状态,该模型更新以“_”结尾的属性,并将is_fitted标志设置为True。
- fit_predict(X, y, **kwargs) ndarray[source]¶
拟合分类器并预测X的类别标签。
fit_predict 仅使用训练数据生成预测估计值。 默认情况下,这是通过10倍交叉验证进行的,尽管一些估计器可能会使用特殊技术,如袋外估计或留一法交叉验证。
重写 _fit_predict 的分类器将具有
capability:train_estimate标签设置为 True。通常,这与在整个训练数据上拟合然后进行训练预测不同。要做到这一点,你应该调用 fit(X,y).predict(X)
- Parameters:
- Xnp.ndarray or list
输入数据,任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列)或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列), 其中(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。允许其他类型并转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。- ynp.ndarray
1D np.array 的 float 或 str,形状为
(n_cases)- 类标签 (真实值)用于拟合与 X 中实例索引对应的索引。- kwargsdict
关键字参数用于配置默认的交叉验证,如果使用基类的默认fit_predict(即如果函数
_fit_predict未被重写。如果_fit_predict被重写,kwargs可能不会按预期工作。如果_fit_predict未被重写,有效的输入是cv_size整数,这是用于估计训练数据的交叉验证折数。如果未传递cv_size,则默认为10。如果cv_size大于任何类别中的最小样本数,则将其设置为该最小值。
- Returns:
- predictionsnp.ndarray
形状
[n_cases]- 预测的类别标签索引对应于实例索引
- fit_predict_proba(X, y, **kwargs) ndarray[source]¶
拟合分类器并预测X的类别标签概率。
fit_predict_proba 仅使用训练数据生成概率估计。 默认情况下,这是通过10倍交叉验证完成的,尽管一些估计器可能会使用特殊技术,如袋外估计或留一法交叉验证。
覆盖 _fit_predict_proba 的分类器将具有
capability:train_estimate标签设置为 True。通常,这与在整个训练数据上拟合然后进行训练预测不同。要做到这一点,你应该调用 fit(X,y).predict_proba(X)
- Parameters:
- Xnp.ndarray or list
输入数据,任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列)或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列), 其中(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。允许其他类型并转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。- ynp.ndarray
1D np.array 的 float 或 str,形状为
(n_cases)- 类标签 (真实值)用于拟合与 X 中实例索引对应的索引。- kwargsdict
关键字参数用于配置默认的交叉验证,如果使用基类的默认fit_predict(即如果函数
_fit_predict未被重写。如果_fit_predict被重写,kwargs可能不会按预期工作。如果_fit_predict未被重写,有效的输入是cv_size整数,这是用于估计训练数据的交叉验证折数。如果未传递cv_size,则默认为10。如果cv_size大于任何类别中的最小样本数,则将其设置为该最小值。
- Returns:
- probabilitiesnp.ndarray
形状为
(n_cases, n_classes)的二维数组 - 预测的类别概率 第一维度的索引对应于X中的实例索引, 第二维度的索引对应于类别标签,(i, j)项是 第i个实例属于第j类的估计概率
- 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中收集任何被覆盖和新添加的标签。
- predict(X) ndarray[source]¶
预测X中时间序列的类别标签。
- Parameters:
- Xnp.ndarray or list
输入数据,可以是任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列,或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列),或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列),其中每个数组为2D np.array(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。 其他类型的数据也是允许的,并且会被转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。
- Returns:
- predictionsnp.ndarray
1D np.array of float, 形状为 (n_cases) - 预测的类别标签 索引对应于 X 中的实例索引
- predict_proba(X) ndarray[source]¶
预测X中时间序列的类别标签概率。
- Parameters:
- Xnp.ndarray or list
输入数据,任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列)或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列), 其中(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。允许其他类型并转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。
- Returns:
- probabilitiesnp.ndarray
形状为
(n_cases, n_classes)的二维数组 - 预测的类别概率 第一维度的索引对应于X中的实例索引, 第二维度的索引对应于类别标签,(i, j)项是 第i个实例属于第j类的估计概率
- 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
自我引用。
- score(X, y, metric='accuracy', use_proba=False, metric_params=None) float[source]¶
在X上预测标签与真实标签的得分。
- Parameters:
- Xnp.ndarray or list
输入数据,任意数量的通道,形状为
( n_cases, n_channels, n_timepoints)的等长序列或形状为(n_cases, n_timepoints)的2D np.array(单变量,等长序列)或形状为[n_cases]的numpy数组列表(任意数量的通道,不等长序列), 其中(n_channels, n_timepoints_i), 其中n_timepoints_i是序列i的长度。允许其他类型并转换为上述类型之一。不同的估计器具有处理不同类型输入的不同能力。如果
self.get_tag("capability:multivariate")为False,它们无法处理多变量序列,因此要么n_channels == 1为真,要么X是形状为(n_cases, n_timepoints)的二维数组。如果self.get_tag("capability:unequal_length")为False,它们无法处理不等长的输入。在这两种情况下,如果X具有估计器不具备的能力特征,则会引发ValueError。- ynp.ndarray
1D np.array 的 float 或 str,形状为
(n_cases)- 类标签 (真实值)用于拟合与 X 中实例索引对应的索引。- metricUnion[str, callable], default=”accuracy”,
定义用于测试模型拟合度的评分指标。有关支持的字符串参数,请查看sklearn.metrics.get_scorer_names。
- use_probabool, default=False,
用于检查评分器是否适用于概率估计的参数。
- metric_paramsdict, default=None,
包含要传递给评分函数的参数。如果为None,则不传递任何参数。
- Returns:
- scorefloat
预测(X)与y的准确率得分。