跳转到主要内容

时间序列机器学习统一框架

项目描述

欢迎来到sktime

时间序列机器学习的统一接口

:rocket: 版本0.16.1已发布! 在此查看发布说明

sktime 是一个用于Python时间序列分析的库。它为多个时间序列学习任务提供了一个统一的接口。目前包括时间序列分类、回归、聚类、注释和预测。它提供了时间序列算法scikit-learn兼容的工具来构建、调整和验证时间序列模型。

概述
CI/CD github-actions !codecov readthedocs platform
代码 !pypi !conda !python-versions !black Binder
下载 Downloads Downloads Downloads
社区 !discord !slack !twitter !youtube
引用 !zenodo

:books: 文档

文档
:star: 教程 新接触sktime?这里是你需要知道的一切!
:clipboard: Binder笔记本 在浏览器中玩耍的示例笔记本。
:woman_technologist: 用户指南 如何使用sktime及其功能。
:scissors: 扩展模板 如何使用sktime的API构建自己的估计器。
:control_knobs: API参考 sktime API的详细参考。
:tv: 视频教程 我们2021年PyData全球会议的视频教程。
:hammer_and_wrench: 变更日志 变更和版本历史。
:deciduous_tree: 路线图 sktime的软件和社区开发计划。
:pencil: 相关软件 相关软件列表。

:speech_balloon: 提问处

问题和反馈非常欢迎!请理解我们无法通过电子邮件提供个别支持。我们相信,如果公开共享,帮助将更有价值,这样更多的人可以从中受益。

类型 平台
:bug: 错误报告 GitHub问题跟踪器
:sparkles: 功能请求与想法 GitHub问题跟踪器
:woman_technologist: 使用问题 GitHub讨论 · Stack Overflow
:speech_balloon: 一般讨论 GitHub讨论
:factory: 贡献与发展 [Slack], 贡献者频道 · Discord
:globe_with_meridians: 社区协作会议 Discord - 每周五下午1点UTC,dev/会议频道

:dizzy: 功能

我们的目标是使时间序列分析生态系统更具互操作性和可用性。sktime为不同的但相关的时序学习任务提供了一个统一的接口。它具有专门的时间序列算法和用于复合模型构建的强大工具,包括管道、集成、调整和减少,使用户能够将一个任务的算法应用于另一个任务。

sktime还提供了对相关库的接口,例如scikit-learnstatsmodelstsfreshPyODfbprophet等。

有关深度学习,请参阅我们的配套软件包:sktime-dl

模块 状态 链接
预测 稳定 教程 · API参考 · 扩展模板
时序分类 稳定 教程 · API参考 · 扩展模板
时序回归 稳定 API参考
转换 稳定 API参考 · 扩展模板
时间序列聚类 成熟 扩展模板
时间序列距离/核 实验性 扩展模板
标注 实验性 扩展模板

:hourglass_flowing_sand: 安装sktime

有关故障排除和详细安装说明,请参阅文档

  • 操作系统:macOS X · Linux · Windows 8.1或更高版本
  • Python版本:Python 3.7, 3.8, 3.9, 3.10和3.11(仅64位)
  • 包管理器pip · conda(通过conda-forge

pip

使用pip,sktime版本作为源代码包和二进制轮盘赌提供。您可以在这里查看所有可用的轮盘赌。

pip install sktime

或者,使用最大依赖项,

pip install sktime[all_extras]

conda

您也可以通过conda通过conda-forge频道安装sktime。有关包括构建配方和配置的feedstock,请查看此存储库

conda install -c conda-forge sktime

或者,使用最大依赖项,

conda install -c conda-forge sktime-all-extras

:zap: 快速入门

预测

from sktime.datasets import load_airline
from sktime.forecasting.base import ForecastingHorizon
from sktime.forecasting.model_selection import temporal_train_test_split
from sktime.forecasting.theta import ThetaForecaster
from sktime.performance_metrics.forecasting import mean_absolute_percentage_error

y = load_airline()
y_train, y_test = temporal_train_test_split(y)
fh = ForecastingHorizon(y_test.index, is_relative=False)
forecaster = ThetaForecaster(sp=12)  # monthly seasonal periodicity
forecaster.fit(y_train)
y_pred = forecaster.predict(fh)
mean_absolute_percentage_error(y_test, y_pred)
>>> 0.08661467738190656

时序分类

from sktime.classification.interval_based import TimeSeriesForestClassifier
from sktime.datasets import load_arrow_head
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

X, y = load_arrow_head()
X_train, X_test, y_train, y_test = train_test_split(X, y)
classifier = TimeSeriesForestClassifier()
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
accuracy_score(y_test, y_pred)
>>> 0.8679245283018868

:wave: 如何参与

有许多方法可以加入sktime社区。我们遵循all-contributors规范:欢迎所有类型的贡献——而不仅仅是代码。

文档
:gift_heart: 贡献 如何为sktime做出贡献。
:school_satchel: 导师 如果是开源新手?申请我们的导师计划!
:date: 会议 加入我们的讨论、教程、研讨会和冲刺!
:woman_mechanic: 开发者指南 如何进一步开发sktime的代码库。
:construction: 增强提案 为sktime设计新功能。
:medal_sports: 贡献者 所有贡献者的列表。
:raising_hand: 角色 我们核心社区角色的概述。
:money_with_wings: 捐赠 资助sktime的维护和开发。
:classical_building: 治理 sktime社区中决策是如何和由谁做出的。

:bulb: 项目愿景

  • 由社区,为社区 -- 由一个友好和协作的社区开发。
  • 适合正确任务的正确工具 -- 帮助用户诊断他们的学习问题并选择合适的科学模型类型。
  • 嵌入到最先进的生态系统提供互操作接口 -- 与scikit-learnstatsmodelstsfresh和其他社区喜爱的软件互操作。
  • 丰富的模型组合和缩减功能 -- 构建调整和特征提取管道,使用scikit-learn回归器解决预测任务。
  • 清晰的描述性规范语法 -- 基于现代面向对象设计原则的数据科学。
  • 公平的模型评估和基准测试 -- 构建您的模型,检查您的模型,验证您的模型,避免陷阱。
  • 易于扩展 -- 容易扩展模板,添加与sktime API兼容的自己的算法。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

skytime-0.16.1.tar.gz (11.8 MB 查看哈希值)

上传时间 源代码

构建分发

skytime-0.16.1-py3-none-any.whl (21.2 MB 查看哈希值)

上传时间 Python 3

支持者