我正在使用卷积网络来预测时间序列。为此,我正在使用滚动窗口来获取最后的t点以将它们用作时间序列。每个功能都将成为一个频道,因此我设置了多个时间序列。数据必须为3维[n_samples,window_size,features]。我拥有的原始数据集是[n_samples,features]。数据已按时间升序排列。我的问题是,考虑到我有近50万行,我创建3D张量的方式会使计算机崩溃。这是我正在使用的代码。
prueba = x_data # This data set has shape [500k,20]
window_size = 100 # I taking the last 100 days
n_units,n_features = prueba.shape
n_samples = n_units - window_size +1 # Represent the number of samples you are getting from the rolling windows.
data_list = []
for init_index in range(n_samples):
fin_index = window_size + init_index
window_set = prueba[init_index:fin_index,:]
window_flat = np.reshape(window_set,(1,window_size*n_features))
data_list.append(window_flat)
features_tensor = np.concatenate(data_list,axis = 0)
features_tensor = np.reshape(features_tensor,(n_samples,window_size,n_features)) ## This break my computer
问题是当我使用 np.concatenate 将我创建的所有单个数据集放在一起时,我的计算机崩溃了。有谁知道更快的方法。我试图以一种避免使用np.concatenate的方式进行思考,但是到目前为止我还没有弄清楚。
慕斯王
相关分类