Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将时间序列数据输入自动编码器网络进行特征提取?_Python_Arrays_Machine Learning_Artificial Intelligence_Autoencoder - Fatal编程技术网

Python 如何将时间序列数据输入自动编码器网络进行特征提取?

Python 如何将时间序列数据输入自动编码器网络进行特征提取?,python,arrays,machine-learning,artificial-intelligence,autoencoder,Python,Arrays,Machine Learning,Artificial Intelligence,Autoencoder,我正在尝试为我的数据集从头创建一个自动编码器。它是一种用于特征提取的变分自动编码器。我对机器学习非常陌生,我想知道如何将输入数据输入自动编码器 我的数据是一个时间序列数据。如下所示: array([[[ 10, 0, 10, ..., 10, 0, 0], ..., [ 0, 12, 32, ..., 2, 2, 2]], [[ 0, 3, 7, ..., 7, 3, 0], ...

我正在尝试为我的数据集从头创建一个自动编码器。它是一种用于特征提取的变分自动编码器。我对机器学习非常陌生,我想知道如何将输入数据输入自动编码器

我的数据是一个时间序列数据。如下所示:

array([[[  10,   0,   10, ..., 10,   0,   0],
        ...,

        [  0,   12,   32, ...,  2,  2,  2]],

         [[ 0,  3,  7, ...,  7,  3,  0],
        .....
        [ 0,  2,  3, ...,  3,  4,  6]],

       [[1, 3, 1, ..., 0, 10, 2],
        ...,

        [2, 11, 12, ..., 1, 1, 8]]], dtype=int64)

它是一组数组,形状是(31212700)。 我在哪里传递标签


网上的例子很简单,没有关于如何在现实中提供数据的详细描述。任何示例或解释都会非常有用。

这可以使用生成器解决。生成器获取700个数据点的时间序列数据,每个数据点有3个通道和1212个时间步,并输出一批数据。 在我编写的示例中,每个批次都是相同的时间段,例如批次0是700个样本中每个样本的前10个时间步,批次1是700个样本中每个样本的时间步1:11。如果您想以某种方式将其混合在一起,那么您应该编辑生成器。当每批产品都经过测试和培训后,新纪元就结束了。对于神经网络来说,一个非常简单的编码器、解码器模型足以证明这一概念,但您可能希望用自己的模型来代替它。变量n用于确定自动编码器使用了多少时间步长

将numpy导入为np
作为pd进口熊猫
进口干酪
从keras.layers导入致密、平坦
从tensorflow.python.client导入设备库
#检查我的gpu
打印(设备库列表本地设备()
#伪造数据
#你的数据
数据=np.random.random((31212700))
#这是一台发电机
def图像_生成器(数据,n):
开始=0
结束=n
而end
您的型号是否有内存?或者它只是用滚动输入和输出将输入映射到输出?你想预测什么?这是下一个时间步的值吗?嗨,没有内存。我用这个模型来提取特征,我不想预测。这是可能的,对吗?从理论上看,自动编码器将输入映射到潜在空间,从而减少特征。所以我们得到的只是有用的功能。我的错误,是的,你可以使用自动编码器来制作功能提取器,我可以快速确认一件事吗:你有3个通道,每个通道有1212个时间数据点,总共700个样本?是的,这是正确的!700个样本如中所示,是700列,时间范围从0.00秒开始。太棒了,这就是我要找的!将在运行模型后更新我的答案。。但再次感谢:)所以我来总结一下。。对于特征提取,我们不需要数据集中的标签,对吗?我将自动编码器模型拆分为编码器和解码器,生成器生成(最后一步,最后一步)作为(输入,输出)。因此,自动编码器经过训练,以提供与输入匹配的输出。在培训过程中,将对两个模型:“编码器”、“解码器”进行培训,您可以稍后仅使用“编码器”模型进行特征提取。这个答案并不是关于如何构建自动编码器的教程,但基本上编码器输出层决定了提取的特征数量。