用于时间序列机器学习的统一框架
项目描述
欢迎使用 sktime
时间序列机器学习的统一接口
:rocket: 版本 0.33.1 现已发布! 在此查看发布说明。
sktime 是一个用于 Python 的时间序列分析库。它为多个时间序列学习任务提供了一个统一的接口。目前,这包括时间序列分类、回归、聚类、注释和预测。它附带时间序列算法和与 scikit-learn 兼容的工具来构建、调整和验证时间序列模型。
文档 · 教程 · 发布说明 | |
---|---|
开源 | |
教程 | |
社区 | |
CI/CD | |
代码 | |
下载 | |
引用 |
:books: 文档
文档 | |
---|---|
:star: 教程 | 新用户?这里有一切你需要知道的信息! |
:clipboard: Binder 笔记本 | 示例笔记本,您可以在浏览器中与之互动。 |
:woman_technologist: 示例 | 如何使用 sktime 及其功能。 |
:scissors: 扩展模板 | 如何使用 sktime 的 API 构建您自己的估计器。 |
:control_knobs: API 参考 | sktime API 的详细参考。 |
:tv: 视频教程 | 2021 年 PyData Global 的我们的视频教程。 |
:hammer_and_wrench: 变更日志 | 变更和版本历史。 |
:deciduous_tree: 路线图 | sktime 的软件和社区开发计划。 |
:pencil: 相关软件 | 相关软件列表。 |
:speech_balloon: 哪里提问
问题和反馈非常受欢迎!我们坚信公开分享帮助的价值,因为它可以使更广泛的受众从中受益。
类型 | 平台 |
---|---|
:bug: 错误报告 | GitHub 问题跟踪器 |
:sparkles: 功能请求与想法 | GitHub 问题跟踪器 |
:woman_technologist: 使用问题 | GitHub 讨论区 · Stack Overflow |
:speech_balloon: 一般讨论 | GitHub 讨论区 |
:factory: 贡献与开发 | dev-chat 频道 · Discord |
:globe_with_meridians: 聚会和协作会议 | Discord - 每周五 13 UTC,dev/聚会频道 |
:dizzy: 功能
我们的目标是提高整个时间序列分析生态系统的互操作性和可用性。sktime 提供了一个 为不同但相关的特定时间序列学习任务提供的统一接口。它具有 专门的时间序列算法 和 复合模型构建工具,如管道、集成、调整和降低,使用户能够将针对一项任务设计的算法应用于另一项任务。
sktime 还提供了 相关库的接口,例如 scikit-learn,statsmodels,tsfresh,PyOD,以及 fbprophet 等。
模块 | 状态 | 链接 |
---|---|---|
预测 | 稳定 | 教程 · API 参考 · 扩展模板 |
时间序列分类 | 稳定 | 教程 · API 参考 · 扩展模板 |
时间序列回归 | 稳定 | API 参考 |
转换 | 稳定 | 教程 · API 参考 · 扩展模板 |
参数拟合 | 成熟 | API 参考 · 扩展模板 |
时间序列聚类 | 成熟 | API 参考 · 扩展模板 |
时间序列距离/核 | 成熟 | 教程 · API 参考 · 扩展模板 |
时间序列对齐 | 实验性 | API 参考 · 扩展模板 |
注释 | 实验性 | 扩展模板 |
时间序列分割器 | 成熟 | 扩展模板 |
分布和模拟 | 实验性 |
:hourglass_flowing_sand: 安装 sktime
有关故障排除和详细安装说明,请参阅 文档。
- 操作系统: macOS X · Linux · Windows 8.1 或更高版本
- Python 版本: Python 3.8, 3.9, 3.10, 3.11 和 3.12(仅 64 位)
- 包管理器: pip · conda(通过
conda-forge
)
pip
使用 pip,sktime 发布版作为源包和二进制轮子提供。可用的轮子列在 此处。
pip install sktime
或者,使用最大依赖关系,
pip install sktime[all_extras]
对于特定学习任务的精选软依赖集
pip install sktime[forecasting] # for selected forecasting dependencies
pip install sktime[forecasting,transformations] # forecasters and transformers
等。有效的集合有
预测
转换
分类
回归
聚类
参数估计
网络
注释
对齐
注意:通常,不会安装学习任务的所有软依赖项,而仅安装精选选择。
conda
您还可以通过 conda
通过 conda-forge
通道安装 sktime。包括构建配方和配置的饲料库维护在 此 conda-forge 存储库 中。
conda install -c conda-forge sktime
或者,使用最大依赖关系,
conda install -c conda-forge sktime-all-extras
(因为 conda
不支持依赖集,所以通过 conda
无法提供灵活的软依赖关系选择)
:zap: 快速入门
预测
from sktime.datasets import load_airline
from sktime.forecasting.base import ForecastingHorizon
from sktime.forecasting.theta import ThetaForecaster
from sktime.split import temporal_train_test_split
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: 辅导 | 新接触开源?申请我们的辅导计划! |
:日期: 会议 | 加入我们的讨论、教程、研讨会和冲刺活动! |
:女机械师: 开发者指南 | 如何进一步开发sktime的代码库。 |
:建筑: 增强提案 | 为sktime设计一个新功能。 |
:体育奖牌: 贡献者 | 所有贡献者的名单。 |
:举手: 角色 | 我们核心社区角色的概述。 |
:翅膀上的钱: 捐赠 | 资助sktime的维护和开发。 |
:古典建筑: 治理 | 在sktime社区中决策的如何和由谁做出。 |
:体育奖牌: 名人堂
感谢所有社区成员对你们所有美好贡献、PR、问题和想法的支持。
:灯泡: 项目愿景
- 由社区,为社区 -- 由一个友好且协作的社区开发。
- 适合任务的正确工具 -- 帮助用户诊断他们的学习问题以及合适的科学模型类型。
- 嵌入在最新的生态系统 和 提供互操作接口 -- 与 scikit-learn、statsmodels、tsfresh 和其他社区热门工具互操作。
- 丰富的模型组合和缩减功能 -- 构建调整和特征提取管道,使用 scikit-learn 回归器解决预测任务。
- 清洁、描述性规范语法 -- 基于现代面向对象设计原则的数据科学。
- 公平的模型评估和基准测试 -- 构建你的模型,检查你的模型,验证你的模型,避免陷阱。
- 易于扩展 -- 提供易于扩展的模板以添加与sktime API兼容的算法。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
sktime-0.33.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 10ede8e97bcaccb1e6009854deb2cc40ec9d20b637eda2294d0a4b0f5f45be01 |
|
MD5 | dace0d8dbda152cb2140e8054a73cb0d |
|
BLAKE2b-256 | c127d73622684f1868651eb8fd2bb1fd283e0b80b8a1a0371051e96130ce1efc |
sktime-0.33.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c6d05248452beccd6fccdc560c8f4ff3d91737e93c95d2379afcec747f712af9 |
|
MD5 | ab200fadf2b21a923d95e5de5c44b57d |
|
BLAKE2b-256 | aba5368e75eb36579451151909a26260d889fe293ecc4da1a9c8925d0f9ff505 |