首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增强时间序列数据以进行深度学习

增强时间序列数据以进行深度学习
EN

Stack Overflow用户
提问于 2020-10-16 11:06:44
回答 1查看 672关注 0票数 3

如果我想将深度学习应用于我目前拥有的传感器的数据集,我将需要相当多的数据,否则我们可能会看到过拟合。不幸的是,传感器只活跃了一个月,因此数据需要增强。我目前有一个数据帧形式的数据,可以在下面看到:

代码语言:javascript
复制
index   timestamp              cas_pre        fl_rat         ...
0       2017-04-06 11:25:00    687.982849     1627.040283    ...
1       2017-04-06 11:30:00    693.427673     1506.217285    ...
2       2017-04-06 11:35:00    692.686310     1537.114807    ...
....
101003  2017-04-06 11:35:00    692.686310     1537.114807    ...

现在,我想用tsaug package增加一些特定的列。增强可以采用以下形式:

代码语言:javascript
复制
my_aug = (    
    RandomMagnify(max_zoom=1.2, min_zoom=0.8) * 2
    + RandomTimeWarp() * 2
    + RandomJitter(strength=0.1) @ 0.5
    + RandomTrend(min_anchor=-0.5, max_anchor=0.5) @ 0.5
)

增强库的文档继续以如下方式使用增广:

代码语言:javascript
复制
X_aug, Y_aug = my_aug.run(X, Y)

在对this站点的进一步研究中,似乎这种增强影响了numpy数组。虽然它声明这是一个多变量增强,但并不真正确定它是如何有效地发生的。

我希望在cas_prefl_rat等浮动数字列中应用这种一致的增强,以避免与原始数据和每个列之间的关系偏离太远。我不想给它添加像timestamp这样的行。我不确定如何在Pandas中做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-27 09:33:33

这是我的尝试:

代码语言:javascript
复制
#Convert Pandas dataframe to Numpy array and apply tsaug transformations

import numpy as np
import pandas as pd
from tsaug import TimeWarp, Crop, Quantize, Drift, Reverse

df = pd.DataFrame({"timestamp": [1, 2],"cas_pre": [687.982849, 693.427673], "fl_rat": [1627.040283, 1506.217285]})

my_aug = (    
    Drift(max_drift=(0.1, 0.5))
)

aug = my_aug.augment(df[["timestamp","cas_pre","fl_rat"]].to_numpy())

print("Input:")
print(df[["timestamp","cas_pre","fl_rat"]].to_numpy()) #debug
print("Output:")
print(aug)

控制台输出:

代码语言:javascript
复制
Input:
[[1.00000000e+00 6.87982849e+02 1.62704028e+03]
 [2.00000000e+00 6.93427673e+02 1.50621728e+03]]
Output:
[[1.00000000e+00 9.13389853e+02 2.03588979e+03]
 [2.00000000e+00 1.01536282e+03 1.43177109e+03]]

您可能需要将时间戳转换为数字。

您使用的tsaug函数似乎并不存在,因此我只应用了drift()作为示例。经过一些试验之后,TimeWarp()默认情况下不影响时间戳(第1列),但是TimeWarp()*5通过复制每个时间戳5次来插入新的样本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64382366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档