python - 如何在 Tensorflow 中对 10% 的数据集进行采样?
问题描述
我有一个 mnist 数据集,我想将其中的 10% 用作验证集。我如何在 TensorFlow 中做到这一点?
解决方案
您可以使用数据集方法,如 dataset.take() 和 dataset.skip() 来提取部分数据并根据需要使用它,用于训练、测试或验证。
或者,您可以使用scikit learn将数据拆分为测试和(培训+验证)数据,然后将(培训+验证)数据再次拆分为单独的培训和验证。
import sklearn.model_selection as sk
X_train_val, X_test, y_train_val, y_test = sk.train_test_split(features,labels,test_size=0.5, random_state = 5)
X_train, X_val, y_train, y_val = sk.train_test_split(X_train_val,y_train_val,test_size=0.2, random_state = 5)
请记住调整第二次拆分,以便测试大小是完整数据集而不是 train_val 数据集的所需 % (总数据集的 50% 的 20% 是 10% )
推荐阅读
- c# - 关闭表单后如何保留 numericupdown 中的值
- python - 我想在文章链接到编辑表单时显示值
- haskell - 构建无限列表的排序无限列表
- flutter - 如何使用 bloc -Flutter 将数据传递到另一个屏幕
- typescript - 循环引用 AWS appsync
- java - gRPC如何在流中的两条消息之间设置超时
- html - 网格显示没有像在 CSS 中那样制作两列
- angular - Сan't 设置 eslint "ignoreUrls" 和 "ignoreStrings"
- xml - 按日和月过滤 XML
- javascript - socket.io io.emit 延迟广播