1. 程式人生 > 程式設計 >在Keras中利用np.random.shuffle()打亂資料集例項

在Keras中利用np.random.shuffle()打亂資料集例項

我就廢話不多說了,大家還是直接看程式碼吧~

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()打亂資料集例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。