几行 Python 代码就可以提取数百个时间序列特征
来源:DeepHub IMBA本文约900字,建议阅读5分钟在本文中,我们将深入讨论tsfresh包的使用。
时间序列数据是随着时间的推移反复捕获的变量值,随着时间的推移可以产生一系列的按时间顺序索引的数据点。在时间序列中,数据具有自然的时间顺序,即一个变量在特定时间的值依赖于过去的值。
传统的机器学习算法不能捕捉时间序列数据的时间顺序。数据科学家需要执行相关的特征工程,将数据的重要特征捕获到几个指标中。生成大量的时间序列特征并从中提取相关特征是一项耗时且繁琐的工作。
python的tsfresh包可以为时间序列数据生成标准的数百个通用特性。在本文中,我们将深入讨论tsfresh包的使用。
tsfresh 是一个可以生成数百个相关的时间序列特征的开源包。从 tsfresh 生成的特征可用于解决分类、预测和异常值检测用例。
tsfresh 包提供了对时间序列数据执行特征工程的各种功能,包括:
- 特征生成
- 特征选择
- 与大数据的兼容性
安装tsfresh 也非常的简单,官方提供了pip和conda的安装方式:
pip install -U tsfresh # or conda install -c conda-forge tsfresh
1、特征生成
tsfresh 包提供了一个自动特征生成 API,可以从 1 个时间序列变量中生成 750 多个相关特征。生成的特征广泛,包括:
- 描述性统计(平均值、最大值、相关性等)
- 基于物理的非线性和复杂性指标
- 数字信号处理相关功能
- 历史压缩特征
使用 tsfresh.extract_features() 函数可以为 1 个时间序列变量从多个域生成 789 个特征。
import pandas as pd from tsfresh import select_features
# Read the time-series data df = pd.read_excel("train.xlsx", parse_dates=['date']).set_index('date')
# automated feature generation features = tsfresh.extract_features(df, column_id="date", column_sort="date")
因为特征太多,所以具体的所有特征的介绍请查看官方文档。
2、特征选择
tsfresh 包还提供了一个基于假设检验的特征选择实现,可以用于识别目标变量的相关特征。为了限制不相关特征的数量,tsfresh 包含了fresh算法(fresh 代表基于可扩展假设测试的特征提取)。
tsfresh.select_features() 函数用户可以实现特征选择。
3、兼容大数据
当我们有大量的时间序列数据时。tsfresh还提供api来扩展特征的生成/提取,以及针对大量数据的特征选择实现:
- 多线程处理:默认tsfresh包可以将特征生成/提取和特征选择在多核上并行执行。
- 分布式框架:tsfresh还实现了一个自己的分布式框架,将特征计算分布在多台机器上加快计算速度。
- Spark兼容:tsfresh还可以使用spark或Dask来处理非常大的数据。
最后总结,tsfresh可以通过几行Python代码中为时间序列特性生成和选择相关特性。
它会自动从基于时间的数据样本的多个域中提取和选择 750 +个经过实际测试的特征。它减少了数据科学家浪费在特征工程上的大量工作时间。
并且时间序列数据是相当大的,tsfresh 也通过多线程、支持dask和spark来处理单机处理不了的大数据样本。
tsfresh 的官方文档:
https://tsfresh.readthedocs.io/en/latest/
编辑:于腾凯
相关文章
- 10行python代码做出哪些酷炫的事情?
- Python表白代码:太秀了,用过的人都找到了对象…【满屏玫瑰盛开】
- python进制转换代码_python十六进制转换成十进制
- 21张让你Python代码能力突飞猛进的速查表
- Python 分形算法__代码里开出来的数学之花
- python转置矩阵代码_python 矩阵转置[通俗易懂]
- Windows上写 Python 代码的王炸组合!
- Linux 上使用 crontab 设置定时任务及运行 Python 代码不执行的解决方案
- python基本代码大全_python怎么运行代码
- 送你情人节(劫)专属Python全套代码
- WTF!只需一行Python代码即可玩20几款小游戏
- YYDS!一行Python代码即可实现数据可视化大屏
- python自动补全设置_python代码补全
- vscode查看源代码_vscode新建python项目
- Python绘制时间演变图工具汇总(附代码)
- 520专属Python代码来了
- 一个 15 年未修补 Python 漏洞让攻击者可以执行代码:35 万个开源代码存储库岌岌可危
- 只用了20行Python代码就攻破了网站登录
- python源码之家_python画图代码大全
- python表白代码-python告白代码,只属于程序员的浪漫