MINIROCKET:一种非常快速(几乎)确定性的时序分类变换方法

MINIROCKET:一种非常快速(几乎)确定性的时序分类变换方法

minirocket 项目地址: https://gitcode.com/gh_mirrors/mi/minirocket

1. 项目介绍

MINIROCKET是Angus Dempster等人在2021年的KDD会议上提出的一种改进版的ROCKET算法。它旨在加速时间序列分类,同时保持高准确性。通过随机卷积核进行变换,并利用转换后的特征训练线性分类器,MINIROCKET不仅将计算复杂度降低到极致,在大规模数据集上比ROCKET快多达75倍,而且几乎达到确定性,可选地通过增加少量计算负担实现完全确定性。这个项目在GitHub上的地址为:https://github.com/angus924/minirocket,其开源许可证为GPL-3.0。

2. 快速启动

要快速开始使用MINIROCKET,首先确保你的环境已安装Python、NumPy、pandas、Numba以及scikit-learn。以下是一个基本的使用示例:

```python
# 导入必要的库
from minirocket import fit, transform
from sklearn.linear_model import RidgeClassifierCV

# 假设X_training和Y_training为训练数据及其标签
parameters = fit(X_training)    # 适应数据以获取参数
X_training_transformed = transform(X_training, parameters)  # 转换训练数据

# 使用RidgeClassifierCV作为分类器
classifier = RidgeClassifierCV(alphas=np.logspace(-3, 3, 10), normalize=True)
classifier.fit(X_training_transformed, Y_training)  # 训练分类器

# 对测试数据进行相同转换并预测
X_test_transformed = transform(X_test, parameters)  # 假定X_test为测试数据
predictions = classifier.predict(X_test_transformed)

3. 应用案例和最佳实践

MINIROCKET适用于各种时序分类任务,尤其对于那些要求高效处理大型数据集的场景。例如,在健康监控、金融分析、语音识别等领域,可以将原始时序信号通过MINIROCKET快速预处理后,输入到机器学习模型中。最佳实践包括始终使用np.float32类型的数据以匹配算法优化,且无需对时序数据进行预标准化,除非特定应用需要。

4. 典型生态项目

  • GPU实现:Malcolm McLean和Ignacio Oguiza合作开发了基于tsai的MINIROCKET GPU版本,适合加速处理。

  • sktime集成:MINIROCKET也已经被整合进sktime库,支持多变量时序分析,提供了灵活性更高的接口,尤其是处理大规模数据集时建议与SGD等方法结合使用。

  • 变长输入实验:项目还包含一个实验特性,允许处理长度不一的时序输入,提升了算法的通用性和实用性。

MINIROCKET因其速度与精度的平衡而成为处理时序数据时的优选工具之一,特别推荐给追求效率和准确性的开发者和研究员。通过上述步骤和实践,你可以迅速在其基础上搭建高效的时序分析解决方案。

minirocket 项目地址: https://gitcode.com/gh_mirrors/mi/minirocket

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平依佩Ula

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值