神经网络分类python代码
时间: 2024-09-13 13:10:24 浏览: 43
神经网络是一种模拟人类大脑神经元工作机制的计算模型,它由大量互相连接的节点或“神经元”组成,用于解决分类、回归等机器学习问题。下面是一个简单的神经网络分类的Python代码示例,使用了流行的深度学习库Keras来构建和训练模型。
首先,确保安装了TensorFlow和Keras库。然后,你可以使用以下代码创建一个简单的神经网络进行分类任务:
```python
from keras.models import Sequential
from keras.layers import Dense
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
# 生成模拟分类数据
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)
# 划分训练集和测试集
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)
# 构建序列模型
model = Sequential()
# 添加层
model.add(Dense(64, input_dim=20, activation='relu')) # 输入层及第一个隐藏层
model.add(Dense(64, activation='relu')) # 第二个隐藏层
model.add(Dense(1, activation='sigmoid')) # 输出层
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=100, batch_size=10)
# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Test Accuracy: {accuracy*100:.2f}%")
```
这段代码首先生成了一个包含1000个样本的模拟二分类数据集,每个样本有20个特征。然后,它将数据集分为训练集和测试集,并对特征进行了标准化处理。接着,代码构建了一个简单的三层神经网络模型,包括两个隐藏层和一个输出层。输出层使用sigmoid激活函数,适合二分类问题。模型使用`adam`优化器和`binary_crossentropy`损失函数进行编译,并在训练集上训练了100个周期。最后,模型在测试集上进行评估,并打印出准确率。
阅读全文