mnist数据集划分
时间: 2024-12-30 15:30:46 浏览: 12
### 正确划分MNIST数据集的方法
对于MNIST数据集而言,为了确保训练过程的有效性和结果的可靠性,在准备阶段应当合理地将数据集划分为训练集和测试集。具体来说,该操作可以通过 `train_test_split` 函数来实现,此函数能够按照指定的比例随机分配样本到不同的子集中[^1]。
下面是一个具体的Python代码实例展示如何利用Scikit-Learn库中的工具来进行这一工作:
```python
from sklearn.model_selection import train_test_split
from tensorflow.keras.datasets import mnist
# 加载MNIST数据集
(X_train_full, y_train_full), (X_test, y_test) = mnist.load_data()
# 将原始训练集进一步拆分出一部分作为验证集;这里假设已经有一个独立的测试集
# 测试集占比设定为20%,即80%-20% 的比例进行分割
X_train, X_val, y_train, y_val = train_test_split(
X_train_full,
y_train_full,
test_size=0.2,
random_state=42 # 设置固定的random_state以保证实验可重复性
)
print(f"Training set size: {len(y_train)}")
print(f"Validation set size: {len(y_val)}")
print(f"Test set size: {len(y_test)}")
```
通过上述方法,不仅实现了对MNIST数据集按一定比例(如80% 训练/验证 vs 20% 测试)的划分,而且借助于 `random_state` 参数保障了每次运行程序时所得到的数据切分模式保持一致,从而提高了实验结果的一致性和可信度。
阅读全文