python ANN代码
时间: 2023-10-13 10:23:00 浏览: 152
使用python实现ANN
以下是一个简单的 Python 代码示例,用于创建一个人工神经网络(ANN)模型:
```python
# 导入所需的库
import numpy as np
import tensorflow as tf
# 设置随机数种子
np.random.seed(0)
tf.random.set_seed(0)
# 加载数据集
from sklearn.datasets import load_breast_cancer
data = load_breast_cancer()
X = data.data
y = data.target
# 拆分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 定义 ANN 模型
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(32, input_dim=30, activation='relu'),
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=100, batch_size=32)
# 评估模型
score = model.evaluate(X_test, y_test)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
```
在这个例子中,我们使用 scikit-learn 库中的乳腺癌数据集来训练和测试 ANN 模型。我们使用 TensorFlow 库来定义和编译模型,并使用 Keras API 来训练和评估模型。我们使用三个密集层来构建模型,其中第一个层有 32 个神经元,第二个层有 16 个神经元,最后一层是一个 sigmoid 激活函数的输出层。我们使用交叉熵损失和 Adam 优化器来编译模型,并使用 100 个时期和批量大小为 32 的训练数据来训练模型。最后,我们评估模型在测试集上的性能,并打印出损失和准确性指标。
阅读全文