tslearn

tslearn

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

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

tslearn时间序列分析机器学习Python库数据预处理Github开源项目
<!-- 我们的标题 --> <div align="center"> <h3>tslearn </h3> </div> <!-- 简短描述 --> <p align="center"> Python中用于时间序列分析的机器学习工具包 </p> <!-- 徽章 --> <p align="center"> <a href="https://badge.fury.io/py/tslearn"> <img alt="PyPI" src="https://yellow-cdn.veclightyear.com/835a84d5/bdbdb131-c88d-4a7d-95a4-98f12814ee06.svg"> </a> <a href="http://tslearn.readthedocs.io/en/stable/?badge=stable"> <img alt="文档" src="https://readthedocs.org/projects/tslearn/badge/?version=stable"> </a> <a href="https://dev.azure.com/romaintavenard/tslearn/_build"> <img alt="构建 (Azure Pipelines)" src="https://dev.azure.com/romaintavenard/tslearn/_apis/build/status/tslearn-team.tslearn?branchName=main"> </a> <a href="https://codecov.io/gh/tslearn-team/tslearn"> <img alt="Codecov" src="https://yellow-cdn.veclightyear.com/835a84d5/53f2d4e4-2b39-4336-bb82-09c29b426549.svg"> </a> <a href="https://pepy.tech/project/tslearn"> <img alt="下载量" src="https://pepy.tech/badge/tslearn"> </a> </p> <!-- 绘制水平线 --> <hr> <!-- 目录 -->
章节描述
安装安装依赖项和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还允许执行各种不同类型的分析。示例包括计算一组时间序列的重心或使用各种距离度量计算时间序列之间的距离。

可用功能

数据处理聚类分类回归度量
UCR数据集缩放时间序列K均值KNN分类器KNN回归器动态时间规整
生成器分段KShape时间序列SVC时间序列SVR全局对齐核
转换(1, 2)核K均值学习形状子序列MLP重心
早期分类矩阵剖面

文档

文档托管在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实现

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

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

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多