Neural network 如何使用卷积神经网络转换/转换数据帧进行分析?

Neural network 如何使用卷积神经网络转换/转换数据帧进行分析?,neural-network,time-series,keras,conv-neural-network,convolution,Neural Network,Time Series,Keras,Conv Neural Network,Convolution,我有时间序列数据帧,我想与卷积神经网络一起用于模式/异常检测 只是想知道如何在不丢失基本数据的情况下进行转换?通过一个移动窗口,从一个简单的数据帧中,成功地形成了一个包含3D阵列的张量,用于卷积神经网络分析: def windows(data, size): start = 0 while start < len(data): #print(start,start+size) yield start, start + size

我有时间序列数据帧,我想与卷积神经网络一起用于模式/异常检测


只是想知道如何在不丢失基本数据的情况下进行转换?

通过一个移动窗口,从一个简单的数据帧中,成功地形成了一个包含3D阵列的张量,用于卷积神经网络分析:

def windows(data, size):
    start = 0
    while start < len(data):
        #print(start,start+size)
        yield start, start + size
        print(start, start + size)
        start += 1

def segmentor(data,window_size,num_channels):
    segments=np.empty((0,window_size,num_channels)) #create dimensions for height component
    for (start,end) in windows(data,window_size):
        placeholder=data.iloc[int(start):int(end),:] #slices the dataframe to extract that time window
        #Now need to forgo the leftovers in each dataframe:
        if(len(placeholder)==window_size): #If the length of timewindow == specified time-window size,
            pl_=(np.dstack((placeholder.ix[:,i] for i in placeholder))) #stack the columns (depthwise)
            #print(pl_.shape)
            #pl_=pl_.swapaxes(1,2)
            segments=np.vstack([segments,pl_])
            #print(segments.shape)
    return segments
def窗口(数据、大小):
开始=0
启动时

然后,生成的结构可以传递给通用CNN。

这在很大程度上取决于数据帧的“内容”。它们是照片吗?您至少可以将其旋转(90°)或添加噪波。通过不同角度拉伸和旋转也是一种选择,如果你这样做的话,你不会裁剪任何重要的特征如果你真的需要增加功能,并且不能保证不会裁剪功能,也许你可以增加图像的大小,并在没有填充整个框架的图像周围添加黑色填充。感谢回复daniel,原始数据框架是财务属性,这就是为什么我在评估将数据转换为卷积神经网络的最佳方法。你仍然认为转换适合吗?也许这是可以做到的,但你必须了解它们是如何工作的。人们可能只有了解您的数据才能进一步帮助您。