FashionMNIST数据集的数据预处理
时间: 2024-05-07 10:19:36 浏览: 176
FashionMNIST数据集是一个由70,000张28x28像素的灰度图像组成的数据集,用于衣服分类任务。在进行模型训练之前,需要对数据进行预处理,以下是一些常见的预处理步骤:
1. 数据归一化:将像素值缩放到0到1之间,可以提高模型的收敛速度和准确率。
2. 数据平衡:确保每个类别的样本数量大致相同,可以避免模型过度拟合某些类别。
3. 数据增强:通过旋转、缩放、平移、翻转等方式增加数据样本的多样性,可以提高模型的泛化能力。
4. 数据划分:将数据集划分为训练集、验证集和测试集,用于训练、调参和评估模型性能。
代码示例:
```python
import numpy as np
import tensorflow as tf
from tensorflow import keras
# 加载FashionMNIST数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.fashion_mnist.load_data()
# 数据归一化
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0
# 数据平衡
class_counts = np.bincount(y_train)
class_weights = {i: np.sum(class_counts) / class_counts[i] for i in range(len(class_counts))}
sample_weights = np.array([class_weights[class_id] for class_id in y_train])
sample_weights /= np.max(sample_weights)
# 数据增强
datagen = keras.preprocessing.image.ImageDataGenerator(
rotation_range=10,
zoom_range=0.1,
width_shift_range=0.1,
height_shift_range=0.1,
horizontal_flip=True,
vertical_flip=False)
# 数据划分
x_train, x_val, y_train, y_val = train_test_split(x_train, y_train, test_size=0.2, random_state=42)
# 创建TensorFlow数据集
train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train, sample_weights)).shuffle(5000).batch(32)
val_dataset = tf.data.Dataset.from_tensor_slices((x_val, y_val)).batch(32)
test_dataset = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)
```
在上面的代码中,我们首先使用`keras.datasets.fashion_mnist.load_data`函数加载FashionMNIST数据集,然后对数据进行归一化、平衡、增强和划分。最后,我们使用`tf.data.Dataset.from_tensor_slices`函数将数据转换为TensorFlow数据集对象,以供后续模型训练使用。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)