import tensorflow as tf
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
import numpy as np
lospath = r'C:\Users\Administrator\PycharmProjects\pythonProject2\大作业\data.csv'
# 读取数据集
data = pd.read_csv(lospath)
# 数据清洗
data.dropna(inplace=True)
data.drop_duplicates(inplace=True)
# 特征选择
X = data.iloc[:, 0:8] # 获取前 8 列作为特征
y = data.iloc[:, 8] # 获取第 9 列作为目标变量
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 拆分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 创建神经网络模型
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_dim=X_train.shape[1]),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(1)
])
# 编译模型
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['mse', 'mae'])
# 训练模型
history = model.fit(X_train, y_train, validation_split=0.2, epochs=1000, batch_size=20)
# 绘制损失函数曲线
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model Loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Validation'], loc='upper right')
plt.show()
# 计算测试集损失和指标
loss, mse, mae = model.evaluate(X_test, y_test)
print("测试损失:", loss)
print("测试均方误差:", mse)
print("测试平均绝对误差:\n", mae)
# 进行预测
y_pred = model.predict(X_test)
import matplotlib.pyplot as plt
# 将预测值和目标数据对比可视化
plt.plot(y_test.values)
plt.plot(y_pred)
plt.title('Comparison of Target and Prediction')
plt.ylabel('Value')
plt.xlabel('Index')
plt.legend(['Target', 'Prediction'], loc='upper right')
plt.show()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
适用于大学生期末课程设计: 混凝土强度是指混凝土在特定条件下的抗压强度,通常用来评估混凝土的质量和可靠性。在工程建设中,混凝土强度的预测非常重要,可以帮助工程师和建筑师更好地评估结构的稳定性和安全性。 Python是一种流行的编程语言,可以用于开发各种类型的应用程序,包括科学计算、数据分析和机器学习等。在本项目中,我们将使用Python开发一个混凝土强度预测工具,以帮助工程师和建筑师更好地评估结构的稳定性和安全性。 本项目的基本思路是:首先,我们需要收集一些混凝土强度数据,包括混凝土的配比、龄期、强度等信息。其次,我们将使用Python的数据分析库来分析和处理这些数据,以便更好地理解和预测混凝土强度。最后,我们将使用Python的机器学习库来建立一个混凝土强度预测模型,以便更好地进行预测和评估。 以下是本项目的主要步骤: 1. 数据收集:首先,我们需要收集一些混凝土强度数据,包括混凝土的配比、龄期、强度等信息。可以从相关文献、数据库或实验室中获取这些数据。 2. 数据处理:接下来,我们将使用Python的数据分析库(例如Pandas)来处理这些数据,包括数据清洗、数据转换、数
资源推荐
资源详情
资源评论
收起资源包目录
大作业.zip (2个子文件)
data.csv 36KB
__pycache__
test.py 2KB
共 2 条
- 1
资源评论
牛马程序员24
- 粉丝: 1040
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功