TSBenchmark是一套面向时间序列预测(Time Series Forecast)自动机器学习(AutoML)算法的分布式Benchmark框架。
TSBenchmark 同时支持Time Series特性与AutoML特性。时间序列预测算法,支持单变量预测与多变量预测,同时支持协变量benchmark。 运行过程中,支持最优参数组合采集,为AutoML框架的分析提供支撑。
框架支持分布式运行模式,具备高效的跑评分效率。框架集成了Hypernets的内的轻量级分布式调度框架,python或者conda环境下均可运行。 推荐使用conda作为环境管理,以支持不同时序算法的环境隔离。
使用如下pip
命令安装TSBenchmark:
pip install tsbechmark
- tsbenchmark.yaml benchmark全局配置
- players
- am_navie_player 算法专属目录
- exec.py 必选,待测试算法代码
- player.yaml 必选,待测试算法描述
- am_navie_player 算法专属目录
集成待评分算法的运行代码:通过api的接口获取任务,训练模型,预测并通过api接口反馈预测结果。
import tsbenchmark as tsb
task = tsb.api.get_task()
# Navie模型参见players/plain_navie_player/exec.py
snavie = Navie().fit(task.get_train(), task.series_name)
df_forecast = snavie.predict(task.horizon)
tsb.api.send_report_data(task, df_forecast)
算法的个性化参数设定,可以指定算法的运行环境。
env:
venv:
kind: custom_python
config:
py_executable: /usr/anaconda3/envs/tsb-hyperts/bin/python
更多使用示例请参考 Quick Start and Examples.
通过命令行使用TSBenchmark
tsb run --config benchmark_prod.yaml
tsb -h
usage: tsb [-h] [--log-level LOG_LEVEL] [-error] [-warn] [-info] [-debug]
{run,compare} ...
tsb command is used to manage benchmarks
positional arguments:
{run,compare}
run run benchmark
compare compare benchmark reports
optional arguments:
-h, --help show this help message and exit
Console outputs:
--log-level LOG_LEVEL
logging level, default is INFO
-error alias of "--log-level=ERROR"
-warn alias of "--log-level=WARN"
-info alias of "--log-level=INFO"
-debug alias of "--log-level=DEBUG"
- Hypernets: 一个通用的自动机器学习框架.
- HyperGBM: 一个集成了多个GBM模型的全Pipeline AutoML工具.
- HyperDT/DeepTables: 一个面向结构化数据的AutoDL工具.
- HyperTS: 一个面向时间序列数据的AutoML和AutoDL工具.
- HyperKeras: 一个为Tensorflow和Keras提供神经架构搜索和超参数优化的AutoDL工具.
- HyperBoard: 一个为Hypernets提供可视化界面的工具.
- Cooka: 一个交互式的轻量级自动机器学习系统.
TSBenchmark是由数据科学平台领导厂商 DataCanvas 创建的开源项目.