用于时间序列机器学习的统一框架
项目描述
欢迎使用sktime
时间序列机器学习的统一接口
:rocket: 版本0.16.1现已发布! 在此处查看发布说明。
sktime是Python中时间序列分析的库。它为多个时间序列学习任务提供了一个统一的接口。目前包括时间序列分类、回归、聚类、注释和预测。它包含时间序列算法和与scikit-learn兼容的工具来构建、调整和验证时间序列模型。
概述 | |
---|---|
CI/CD | |
代码 | |
下载 | |
社区 | |
引用 |
: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-learn,statsmodels,tsfresh,PyOD和fbprophet等。
关于深度学习,请参阅我们的配套包。
模块 | 状态 | 链接 |
---|---|---|
预测 | 稳定 | 教程 · 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-learn、statsmodels、tsfresh和其他社区喜欢的工具互操作。
- 丰富的模型组合和简化功能 -- 构建调整和特征提取管道,使用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 查看哈希值)