在Keras中利用np.random.shuffle()打亂資料集例項
阿新 • • 發佈:2020-06-16
我就廢話不多說了,大家還是直接看程式碼吧~
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()打亂資料集例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。