基于CSV数据集训练的神经网络如何实现第三次考试成绩预测
预测实现方法
你需要保证预测阶段的数据预处理逻辑和训练阶段完全对齐,之后调用训练好的模型的predict方法即可完成预测,完整代码如下:
import numpy as np import pandas as pd import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers, preprocessing # 你已有的读取测试数据代码 column_names = ['First exam result', 'Second exam result', 'Third exam result', 'Country'] prediction_data = pd.read_csv('testdata.csv', names=column_names, sep=';') # 1. 测试数据预处理,和训练逻辑保持一致 # 清洗除第三次成绩外的空值行 prediction_data = prediction_data.dropna(subset=['First exam result', 'Second exam result', 'Country']) # 国家字段转分类编码,和训练时的分类规则完全匹配 prediction_data.Country = pd.Categorical(prediction_data.Country, ['PL', 'ENG'], ordered=True) prediction_data.Country = prediction_data.Country.cat.codes # 2. 提取输入特征,和训练时的特征维度、顺序一致 pred_features = prediction_data.copy() # 删除缺失的第三次成绩列,仅保留输入特征 pred_features.pop('Third exam result') # 3. 执行预测 predictions = linear_model.predict(pred_features) # 4. 结果保存(可选) prediction_data['预测第三次考试成绩'] = predictions prediction_data.to_csv('预测结果.csv', sep=';', index=False, encoding='utf-8-sig')
注意事项
- 若你的测试数据中存在国籍不为
PL或ENG的行,转编码后会生成空值,你可以提前过滤这类异常数据,也可以在训练时补充对应国家的分类 - 如果你需要离线复用模型,可以在训练完成后执行
linear_model.save('考试成绩预测模型.h5')保存模型,下次使用时直接用tf.keras.models.load_model('考试成绩预测模型.h5')加载即可,无需重复训练
内容的提问来源于stack exchange,提问作者dav1per
相关产品推荐
相关产品推荐

