数据预处理是机器学习模型训练前的重要步骤,对于 Keras 来说也不例外。以下是一些常用的数据预处理方法。
1. 数据清洗
在进行模型训练之前,需要对数据进行清洗,去除无效或错误的数据。
- 去除重复数据:使用
DataFrame.drop_duplicates()
方法可以去除重复的数据。 - 处理缺失值:可以使用
DataFrame.fillna()
或DataFrame.dropna()
方法来处理缺失值。
import pandas as pd
data = pd.read_csv('data.csv')
data.drop_duplicates(inplace=True)
data.fillna(method='ffill', inplace=True)
2. 数据标准化
数据标准化是将数据缩放到一个固定的范围,例如 [0, 1] 或 [-1, 1]。
- Min-Max 标准化:将数据缩放到 [0, 1] 范围内。
- Z-Score 标准化:将数据缩放到均值为 0,标准差为 1 的范围内。
from sklearn.preprocessing import MinMaxScaler, StandardScaler
scaler = MinMaxScaler()
data_scaled = scaler.fit_transform(data)
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)
3. 数据分割
在模型训练之前,需要将数据分割成训练集和测试集。
- 使用
train_test_split
函数:可以使用train_test_split
函数来分割数据。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(data_scaled, labels, test_size=0.2, random_state=42)
4. 数据增强
数据增强是通过对原始数据进行变换来生成更多的数据样本。
- 使用
ImageDataGenerator
类:对于图像数据,可以使用ImageDataGenerator
类来进行数据增强。
from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(
rotation_range=20,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest'
)
更多关于 Keras 数据预处理的教程,请访问 Keras 数据预处理教程。
Keras 数据预处理