【发布时间】:2017-03-31 07:56:07
【问题描述】:
我正在从一个 numpy 数组列表中创建几个 numpy 数组,如下所示:
seq_length = 1500
seq_diff = 200 # difference between start of two sequences
# x and y are 2D numpy arrays
x_seqs = [x[i:i+seq_length,:] for i in range(0, seq_diff*(len(x) // seq_diff), seq_diff)]
y_seqs = [y[i:i+seq_length,:] for i in range(0, seq_diff*(len(y) // seq_diff), seq_diff)]
boundary1 = int(0.7 * len(x_seqs)) # 70% is training set
boundary2 = int(0.85 * len(x_seqs)) # 15% validation, 15% test
x_train = np.array(x_seqs[:boundary1])
y_train = np.array(y_seqs[:boundary1])
x_valid = np.array(x_seqs[boundary1:boundary2])
y_valid = np.array(y_seqs[boundary1:boundary2])
x_test = np.array(x_seqs[boundary2:])
y_test = np.array(y_seqs[boundary2:])
我希望最终得到 6 个形状为 (n, 1500, 300) 的数组,其中 n 分别是训练、验证和测试数组数据的 70%、15% 或 15%。
这就是问题所在:_train 和 _valid 数组结果很好,但 _test 数组是数组的一维数组。那就是:
-
x_train.shape是(459, 1500, 300) -
x_valid.shape是(99, 1500, 300) -
x_test.shape是(99,)
但打印 x_test 会验证它是否包含正确的元素 - 即它是由 (1500, 300) 数组组成的 99 元素长数组。
为什么_test 矩阵的形状错误,而_train 和_valid 矩阵却没有?
【问题讨论】:
标签: python numpy machine-learning