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,原始数据框架是财务属性,这就是为什么我在评估将数据转换为卷积神经网络的最佳方法。你仍然认为转换适合吗?也许这是可以做到的,但你必须了解它们是如何工作的。人们可能只有了解您的数据才能进一步帮助您。