我就廢話不多說了,大家還是直接看代碼吧~
from numpy as np index=np.arange(2000) np.random.shuffle(index) print(index[0:20]) X_train=X_train[index,:,:,:]#X_train是訓練集,y_train是訓練標籤 y_train=y_train[index]
補充知識:Keras中shuffle和validation_split的順序
模型的fit函數有兩個參數,shuffle用於將數據打亂,validation_split用於在沒有提供驗證集的時候,按一定比例從訓練集中取出一部分作為驗證集
這裡有個陷阱是,程序是先執行validation_split,再執行shuffle的,
所以會出現這種情況:
假如你的訓練集是有序的,比方說正樣本在前負樣本在後,又設置了validation_split,那麼你的驗證集中很可能將全部是負樣本
同樣的,這個東西不會有任何錯誤報出來,因為Keras不可能知道你的數據有沒有經過shuffle,保險起見如果你的數據是沒shuffle過的,最好手動shuffle一下
np.random.seed(1024) random.shuffle(index) data = data[index] label = label[index] splitpoint = int(round(num * 0.8)) (X_train, X_val) = (data[0:splitpoint], data[splitpoint:]) (Y_train, Y_val) = (label[0:splitpoint], label[splitpoint:]) X_train=X_train/255 X_val=X_val/255
[月球人 ] 在Keras中利用np.random.shuffle()打亂數據集實例已經有428次圍觀