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实现

编辑推荐精选

博思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模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多