在Keras中利用np.random.shuffle()打乱数据集实例

时间:2021-05-22

我就废话不多说了,大家还是直接看代码吧~

from numpy as npindex=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()打乱数据集实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章