跳转到主要内容

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

项目描述

欢迎使用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: 文档

文档
:星星: 教程 新加入sktime?这里是你需要知道的一切!
:复写纸: Binder笔记本 浏览器中的示例笔记本,可以随意玩。
:女技术专家: 用户指南 如何使用sktime及其功能。
:剪刀: 扩展模板 如何使用sktime的API构建自己的估计器。
:旋钮: API参考 sktime API的详细参考。
:电视: 视频教程 2021年PyData Global的我们的视频教程。
:锤子和扳手: 变更日志 变更和版本历史。
:落叶树: 路线图 sktime的软件和社区开发计划。
:铅笔: 相关软件 相关软件列表。

:气球话筒:提问的地方

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

类型 平台
:虫子: 错误报告 GitHub问题跟踪器
:火花: 功能请求和想法 GitHub问题跟踪器
:女技术专家: 使用问题 GitHub讨论 · Stack Overflow
:气球话筒: 一般讨论 GitHub讨论
:工厂: 贡献和发展 [Slack],贡献者频道 · Discord
:经纬网地球: 社区协作会议 Discord - 周五下午1点UTC,dev/meet-ups频道

:头晕:功能

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

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

关于深度学习,请参阅我们的配套包。

模块 状态 链接
预测 稳定 教程 · 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

您还可以通过condaconda-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兼容的自定义算法。

项目详情


下载文件

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

源代码分布

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

上传时间 源代码

构建分布

sktime_backup-0.16.1-py3-none-any.whl (19.4 MB 查看哈希值)

上传时间 Python 3

由以下支持