Project Icon

tslearn

Python时间序列分析机器学习库

tslearn是一个开源的Python库,专注于时间序列分析和机器学习。它提供数据预处理、分类、聚类、回归和多种距离度量方法。支持可变长度时间序列,兼容scikit-learn,包含UCR数据集和数据生成器。tslearn适用于需要进行时间序列分析的数据科学工作,支持超参数调优和管道等功能,为研究和实践提供全面工具支持。

tslearn

Python中用于时间序列分析的机器学习工具包

PyPI 文档 构建 (Azure Pipelines) Codecov 下载量


章节描述
安装安装依赖项和tslearn
入门如何使用tslearn的快速介绍
可用功能tslearn功能的全面概述
文档我们的API参考和示例库的链接
贡献愿意贡献的英雄指南
引用学术文章中引用tslearn的方式

安装

安装tslearn有多种方式:

  • PyPi: python -m pip install tslearn
  • Conda: conda install -c conda-forge tslearn
  • Git: python -m pip install https://github.com/tslearn-team/tslearn/archive/main.zip

为了成功安装,必须安装所需的依赖项。有关如何安装tslearn的更详细指南,请参阅文档

入门

1. 将数据转换为正确的格式

tslearn期望时间序列数据集以3D numpy 数组的格式呈现。三个维度分别对应时间序列的数量、每个时间序列的测量次数和维度数(n_ts, max_sz, d)。为了将数据转换为正确的格式,有多种解决方案:

还应注意,tslearn 支持可变长度时间序列

>>> from tslearn.utils import to_time_series_dataset
>>> my_first_time_series = [1, 3, 4, 2]
>>> my_second_time_series = [1, 2, 4, 2]
>>> my_third_time_series = [1, 2, 4, 2, 2]
>>> X = to_time_series_dataset([my_first_time_series,
                                my_second_time_series,
                                my_third_time_series])
>>> y = [0, 1, 1]

2. 数据预处理和转换

可选地,tslearn提供了几个用于预处理数据的实用工具。为了便于不同算法的收敛,您可以缩放时间序列。或者,为了加快训练时间,可以重采样数据或应用分段变换

>>> from tslearn.preprocessing import TimeSeriesScalerMinMax
>>> X_scaled = TimeSeriesScalerMinMax().fit_transform(X)
>>> print(X_scaled)
[[[0.] [0.667] [1.] [0.333] [nan]]
 [[0.] [0.333] [1.] [0.333] [nan]]
 [[0.] [0.333] [1.] [0.333] [0.333]]]

3. 训练模型

将数据转换为正确格式后,就可以训练模型了。根据用例,tslearn支持不同的任务:分类、聚类和回归。要全面了解可能性,请查看我们的示例库

>>> from tslearn.neighbors import KNeighborsTimeSeriesClassifier
>>> knn = KNeighborsTimeSeriesClassifier(n_neighbors=1)
>>> knn.fit(X_scaled, y)
>>> print(knn.predict(X_scaled))
[0 1 1]

可以看到,tslearn中的模型遵循与著名的scikit-learn相同的API。此外,它们与scikit-learn完全兼容,允许使用不同的scikit-learn实用工具,如超参数调整和管道

4. 更多分析

tslearn还允许执行各种不同类型的分析。示例包括计算一组时间序列的重心或使用各种距离度量计算时间序列之间的距离。

可用功能

文档

文档托管在readthedocs。它包括API示例库用户指南

贡献

如果您想为tslearn做出贡献,请查看我们的贡献指南。有趣的待办事项列表可以在这里找到。如果您希望将其他时间序列的机器学习方法添加到此待办事项列表中,请随时提出问题

引用tslearn

如果您在科学出版物中使用tslearn,我们将感谢您的引用:

@article{JMLR:v21:20-091,
  author  = {Romain Tavenard and Johann Faouzi and Gilles Vandewiele and 
             Felix Divo and Guillaume Androz and Chester Holtz and 
             Marie Payne and Roman Yurchak and Marc Ru{\ss}wurm and 
             Kushal Kolar and Eli Woods},
  title   = {Tslearn, A Machine Learning Toolkit for Time Series Data},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {118},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v21/20-091.html}
}

致谢

作者要感谢Mathieu Blondel提供的核K均值软DTW代码,以及Mehran Maghoumi提供的torch兼容的SoftDTW实现

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号