^_^ 2023-03-18 21:52 采纳率: 57.9%
浏览 81
已结题

python环境下卷积神经网络数据输入

现我对温度,时间等对材料硬度影响运用卷积神经网络进行探究,通过学习与询问进行了代码的初步编入。目前数据除第一行标题外,有400行20列,其中前19列作为X,最后一列作为Y。以此进行输入但遇到了问题,附上程序希望得到解答,并希望优化最后的预测输出,最好能有图表。由于本人对卷积神经网络了解不多,希望解答能尽可能详尽可靠,最后输出能有可视图表。


import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense
# 1. 数据清洗
data = pd.read_csv('zhendaorushuju.csv',encoding='gb18030')

# 2. 特征选择
features = ['Nb%','Ti%','AL%','V%','Cr%','Mo%','C%','Mn%','P%','Ni%',    'Cu%','Si%','S%','奥氏体化温度0℃','油冷时间0min',    '保温时间0min','上下窜动时间0min','回火0退火温度0℃','保温时间0min']
X = data[features]
y = data['硬度']
# 3. 特征缩放
scaler = MinMaxScaler()
X = scaler.fit_transform(X)
# 4. 数据划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=400)
# 5. 序列化数据
X_train = np.array([X_train])
X_test = np.array([X_test])
# 构建卷积神经网络模型
model = Sequential()
model.add(Conv1D(filters=33, kernel_size=1, activation='relu', input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dense(1))
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
model.fit(X_train, y_train, epochs=1, batch_size=33, verbose=0)
# 评估模型
score = model.evaluate(X_test, y_test, verbose=0)
print('Test loss:', score)
# 使用模型进行预测
y_pred = model.predict(X_test)
  • 写回答

7条回答 默认 最新

  • 追cium 2023-03-18 21:54
    关注

    参考GPT和自己的思路:

    首先,你的代码看起来是没有明显的问题的。不过,我仍然可以给你一些建议来进一步改善和优化你的模型,尤其是在输出方面。以下是我的建议:

    1. 数据预处理

    在你的代码中,你使用了MinMaxScaler进行了特征缩放处理。这是一种很好的方法,但是你可能需要再进行一些进一步的数据预处理,以使你的模型更加稳健。比如,你可以考虑去除一些异常值、填充缺失值、对某些特征进行离散化等等。

    1. 模型构建

    你的卷积神经网络模型看起来是基本的模板模型,但是你可以对模型进行进一步改进来得到更好的结果。比如,你可以尝试调整卷积层的filter/ kernel size、激活函数和池化层的pooling size,这些都可以对模型的效果产生一定的影响。另外,你还可以尝试使用其他类型的神经网络模型,如循环神经网络、长短时记忆网络等等,以得到更好的结果。

    1. 输出可视化

    在输出方面,你可以将预测结果可视化,以便更直观地理解模型的效果。比如,你可以将模型预测结果和实际标签放在一个散点图上,或者画出模型预测值和真实值在时间序列上的对比曲线等等。这些可视化方法可以帮助你更好地理解和解释模型预测效果。

    希望这些建议对你有所帮助!如果你还有其他问题,请随时向我咨询。

    评论

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 创建了问题 3月18日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器