利用TimeGAN技术对一维时序数据进行扩增(Python代码)

1.数据集介绍

特征是工作经验年限,标签是薪水,因为数据量太少,利用GAN技术进行扩增

YearsExperienceSalary
1.139343
1.346205
1.537731
243525
2.239891
2.956642
360150
3.254445
3.264445
3.757189
3.963218
455794
456957
4.157081
4.561111
4.967938
5.166029
5.383088
5.981363
693940
6.891738
7.198273
7.9101302
8.2113812
8.7109431
9105582
9.5116969
9.6112635
10.3122391
10.5121872

2.模型整体介绍

时间序列生成对抗性网络

TGAN,时间序列生成对抗性网络于2019年提出,作为一种基于GAN的框架,能够生成各种不同领域的真实时间序列数据,即具有不同观察行为的序列数据。与我们在真实数据和合成数据上实现无监督对抗性损失的其他GAN架构(例如,WGAN)不同,TimeGAN架构引入了监督损失的概念-鼓励模型通过使用原始数据作为监督来捕捉数据中的时间条件分布。此外,我们可以观察到嵌入网络的引入,该网络负责降低对抗性学习空间维度。

3.模型效果

扩增的数据与原始数据对比

扩增数据与原始数据概率分布图

运行环境要求:

numpy version: 1.19.2
pandas version: 1.2.0
scikit-learn version: 0.24.0
tensorflow version: 2.4.0 

对项目感兴趣的,可以关注最后一行 

import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler

from tensorflow import function, GradientTape, sqrt, abs, reduce_mean, ones_like, zeros_like, convert_to_tensor,float32
from tensorflow import data as tfdata
from tensorflow import config as tfconfig
from tensorflow import nn
from tensorflow.keras import Model, Sequential, Input
from tensorflow.keras.layers import GRU, LSTM, Dense
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.losses import BinaryCrossentropy, MeanSquaredError
#代码,https://mbd.pub/o/bread/mbd-ZJmYmZtw

  • 5
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习的奋斗者

你的鼓励是我努力的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值