在网络上找一个合适的数据集(属性为数值类属性,类别为数值类取值),应用神经网络构建程序,进行训练和预测,正确无误的python代码
时间: 2024-11-20 16:39:02 浏览: 8
为了在网络找到一个合适的数值类属性和类别为数值类取值的数据集,并用Python构建神经网络模型进行训练和预测,你可以使用经典的`scikit-learn`库以及`pandas`数据处理库。这里是一个简单的示例,使用`iris`数据集,这是一个包含4种花卉测量数据的分类任务:
首先,确保已经安装了必要的库:
```bash
pip install numpy pandas scikit-learn tensorflow keras
```
然后,以下是使用Keras(通过TensorFlow库实现的高级API)构建简单神经网络的Python代码:
```python
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 数据预处理:标准化数值特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 构建神经网络模型
model = Sequential([
Dense(64, activation='relu', input_shape=(X_train.shape[1],)), # 输入层
Dense(32, activation='relu'), # 隐藏层
Dense(len(np.unique(y)), activation='softmax') # 输出层(对于分类任务,通常使用softmax激活)
])
# 编译模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# 训练模型
history = model.fit(X_train, y_train, epochs=50, validation_data=(X_test, y_test))
# 预测新样本
new_sample = scaler.transform([[# 新数据点的数值表示]])
prediction = model.predict(new_sample)
print("模型训练完成")
print(f"预测结果: {np.argmax(prediction)} (类别索引), 真实类别: {y_test[0]}")
#
阅读全文