假設我有一些這種形狀的資料:
X=np.array(X[0:10368]).reshape(432,24,1)
Y=np.array(Y[0:10368]).reshape(432,24,1)
所以我想以這種方式喂養我的模型:
X vector: Y vector: Example:
[24 x 1] vector --> [2x1] vector / [0,1,...,24] ---> [0,1]
[24 x 1] vector --> [2x1] vector / [0,1,...,24] ---> [0,0]
[24 x 1] vector --> [2x1] vector / [0,1,...,24] ---> [1,0]
. . .
. . .
. . .
432 batches 432 batches 432 batches
我怎樣才能將我的 Y 改造成這樣?
Y = np.random.randint(2, size=(432, 2))
我希望我的 Y 是:(432, 2)
uj5u.com熱心網友回復:
根據我掌握的資訊,我建議嘗試這樣的事情:
X = np.random.random(size=(5192, 24))
Y = np.random.randint(2, size=(5192, 2))
N = 432
indices = np.random.choice(X.shape[0], N, replace=False)
X_reduced = X[indices]
Y_reduced = Y[indices]
print(X_reduced.shape)
print(Y_reduced.shape)
#(432, 24)
#(432, 2)
由于您的資料集由5192條目組成,因此我正在做的是隨機選擇432索引X并Y從中獲取形狀(432, 24)和(432, 2). 如果您想保留資料的順序,您可以將大小的滑動視窗432應用于您的資料而沒有任何隨機性:
X = np.random.random(size=(5192, 24))
Y = np.random.randint(2, size=(5192, 2))
N = 432
X = [X[i:i N,:] for i in range(0, X.shape[0], N)]
Y = [Y[i:i N,:] for i in range(0, Y.shape[0], N)]
print(X[0].shape)
print(Y[0].shape)
#(432, 24)
#(432, 2)
請注意,最后一批具有(8, 24)forX和(8,2)for的形狀,Y因為5192條目不能被 等分432。例如,您可以424將第一批的第一個條目復制到最后一批。這樣所有批次都是平等的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/322033.html
