一个专用于时间序列数据的机器学习工具包
tslearn的Python项目详细描述
tslearn
是一个python包,它为分析时间序列提供机器学习工具。
这个包基于scikit-learn
、numpy
和scipy
库。
如果你想为tslearn
做贡献,请看一下our contribution guidelines。
依赖关系
Cython
numpy
numba
scipy
scikit-learn
joblib
numba
如果您计划使用shapelets
模块,还应该安装keras
和tensorflow
。
安装
先决条件
应使用P> C++Bug工具来执行安装。使用conda
安装tslearn
的最简单方法可能是通过conda
:
conda install -c conda-forge tslearn
使用pypi
使用pip
也应该可以工作:
pip install tslearn
使用最新的Github托管版本
如果您想获得tslearn
的最新版本,可以参考github上托管的存储库:
pip install git+https://github.com/rtavenar/tslearn.git
故障排除
似乎在某些平台上,Cython
依赖项安装不正确。
如果遇到此类问题,请尝试使用以下命令安装:
pip install cython
或者(取决于您首选的python包管理器):
conda install -c anaconda cython
在开始安装tslearn
之前。
文档和API参考
文档(包括示例库)位于readthedocs。
已经可用
- 一个
generators
模块提供随机游动生成器 - 一个
datasets
模块通过UCR_UEA_datasets
类提供对著名的ucr/uea数据集的访问。 preprocessing
模块提供标准时间序列定标器- 一个
metrics
模块提供:- 动态时间扭曲(DTW)(具有Sakoe Chiba频带和Itakura平行四边形变体)
- lb_keogh
- 全局对齐内核
- 来自Cuturi和Blondel的软DTW
- 一个
neighbors
模块包括用于时间序列的最近邻算法 - 一个
svm
模块包括支持向量机算法,其具有:- 在
sklearn
中提供的标准内核(为您完成足够的数组重塑) - 全局对齐内核
- 在
- 一个
clustering
模块包括以下时间序列聚类算法:- 标准欧几里得k-均值(为您进行适当的数组重塑)
- 基于
tslearn.barycenters
- 基于
- dba k-means来自petitjean等人。
- 基于
tslearn.barycenters
,它提供了可用于其他应用程序的dba工具,而不仅仅是 K-平均值
- 基于
- 全局对齐内核k-均值
- 来自帕帕利佐和格拉瓦诺的kshape聚类
- 来自Cuturi和Blondel的软DTW K-Means
- 基于提供软DTW重心计算的
tslearn.barycenters
- 基于提供软DTW重心计算的
- 它还提供了一种计算给定聚类和度量的轮廓系数的方法
- 标准欧几里得k-均值(为您进行适当的数组重塑)
- 一个
shapelets
模块包括grabocka等人的学习时间序列方法的有效实现。- 警告:要使用
shapelets
模块,需要两个额外的依赖项:keras
和tensorflow
- 警告:要使用
- 一个
piecewise
模块包括标准时间序列转换以及相应的距离:-
分段骨料近似(PAA)<李>
- 符号聚合近似(SAX)
- 一维符号聚合近似(1d sax)
待办事项列表
查看there以获取建议功能的列表。 如果要将时间序列的其他ml方法添加到此to do列表中,请不要犹豫打开问题!有关如何继续的详细信息,请参见our contribution guidelines。
致谢
作者要感谢马修·布朗德尔为
Kernel k-means和Soft-DTW(两者
在bsd许可下分发),用于此库的clustering
和metrics
模块中。
引用tslearn
如果在中使用tslearn
作为一份科学出版物,我们希望引用:
@misc{tslearn,title={tslearn: A machine learning toolkit dedicated to time-series data},author={Tavenard, Romain and Faouzi, Johann and Vandewiele, Gilles},year={2017},note={\url{https://github.com/rtavenar/tslearn}}}