python - Keras:如何为验证集随机抽样?

标签 python tensorflow keras

我目前正在训练一个 Keras 模型,其对应的拟合调用如下所示:

model.fit(X,y_train,batch_size=myBatchSize,epochs=myAmountOfEpochs,validation_split=0.1,callbacks=myCallbackList)

This comment在 Keras Github 页面上解释了“validation_split=0.1”的含义:

The validation data is not necessarily taken from every class and it is just the last 10% (assuming that you ask for 10%) of the data.

我现在的问题是:是否有一种简单的方法可以随机选择 10% 的训练数据作为验证数据?我想使用随机选取的样本的原因是最后 10% 的数据不一定包含我的案例中的所有类。

非常感谢。

最佳答案

Keras 不提供任何比只提取一小部分训练数据进行验证更高级的功能。如果您需要更高级的东西,例如分层抽样以确保类在样本中得到很好的表示,那么您需要在 Keras 之外手动执行此操作(例如使用 scikit-learn 或 numpy),然后将该验证数据传递给 keras model.fit

中的 validation_data 参数

关于python - Keras:如何为验证集随机抽样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439468/

相关文章:

python - Keras - 数据集的数据生成器太大而无法放入内存

Python Api C 产生内存泄漏

python - Python中多种方式读取文件

python - Tensorflow LSTM 像素级分类

python - 将 Tensorflow 中 Tensor 的所有元素相乘

tensorflow - 将稀疏的 IndexedSlices 转换为密集的张量

python - Django session 过期?

python - CircleCi 上的 WebDriverException selenium-python 测试

tensorflow - keras GRU 层中的返回状态和返回序列有什么区别?

python-3.x - Keras 模型给出 TypeError : only size-1 arrays can be converted to Python scalars