Keras 是一个高级神经网络 API,可以运行在 TensorFlow、CNTK 和 Theano 后端之上。以下是一些 Keras 的基础概念和教程。

安装 Keras

首先,您需要安装 Keras。可以通过以下命令进行安装:

pip install keras

如果您使用的是 TensorFlow 2.x,Keras 已经是 TensorFlow 的一个部分,无需单独安装。

数据预处理

在进行深度学习之前,数据预处理是非常重要的步骤。

  • 数据清洗:移除或填充缺失值,去除异常值等。
  • 数据归一化:将数据缩放到一个特定的范围,例如 0 到 1。
  • 数据划分:将数据集划分为训练集、验证集和测试集。
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 假设 X 是特征,y 是标签
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 归一化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

建立模型

Keras 提供了多种模型构建方式,包括顺序模型、函数式模型和模型层。

顺序模型

顺序模型是最常见的模型类型,它通过堆叠层来构建。

from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(64, activation='relu', input_shape=(X_train.shape[1],)))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

函数式模型

函数式模型提供了更大的灵活性,允许您以任意方式连接层。

from keras.models import Model
from keras.layers import Input, Dense

input = Input(shape=(X_train.shape[1],))
x = Dense(64, activation='relu')(input)
x = Dense(32, activation='relu')(x)
output = Dense(1, activation='sigmoid')(x)

model = Model(inputs=input, outputs=output)
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

训练模型

训练模型是深度学习中最关键的步骤。

model.fit(X_train, y_train, epochs=10, batch_size=32, validation_split=0.2)

评估模型

评估模型可以通过测试集来完成。

loss, accuracy = model.evaluate(X_test, y_test)
print(f'测试集准确率: {accuracy}')

扩展阅读

更多关于 Keras 的信息,您可以访问 Keras 官方文档

Keras Logo