模型加载与预测

本代码示例展示了如何加载训练好的模型并对新数据进行预测。

步骤:

  1. 加载模型: 使用 load_model 函数加载保存的模型文件。
  2. 读取数据: 从 CSV 文件中读取用于预测的输入数据。
  3. 数据预处理: 对输入数据进行预处理,例如将数据转换为 NumPy 数组并进行特征缩放。
  4. 进行预测: 使用加载的模型对预处理后的数据进行预测。
  5. 保存结果: 将预测结果保存到新的 CSV 文件中。

代码:

print('使用模型进行预测...')
filepath = './M1.h5'
model = load_model(filepath)

# 读取 CSV 文件
data = pd.read_csv('验证m模型.csv', dtype='str')

# 提取数据
h0 = data.iloc[:, 1].values
tauss = data.iloc[:, 2].values.astype(np.float32)
tau0 = data.iloc[:, 3].values.astype(np.float32)
features = data.iloc[:, 4:11].values.astype(np.float32)
target = data.iloc[:, 12].values.astype(np.float32)

# 对第2到3列的数据除以最大值, 后面除以的值是用于训练模型时候归一化除以的值
tauss_normalized = taus / 1000
tau0_normalized = tau0 / 1000

# 对第4到11列的每行数据除以每行数据中的最大值, 后面除以的值是用于训练模型时候归一化除以的值
features_normalized = features / 2871.158436

# 对第12列的数据除以最大值, 后面除以的值是用于训练模型时候归一化除以的值
target_normalized = target / 0.469994596

# 将数据转换为 NumPy 数组
unknown = np.concatenate((h0, taus_normalized.reshape(-1, 1), tau0_normalized.reshape(-1, 1), features_normalized, target_normalized.reshape(-1, 1)), axis=1)

# 进行预测
predicted = model.predict(unknown, verbose=1)

# 将预测结果保存到新的 CSV 文件中
# 将预测结果转换为 DataFrame
result = pd.DataFrame(predicted, columns=[f'prediction_{i}' for i in range(predicted.shape[1])])

# 将预测结果反归一化
result.iloc[:, 0] = result.iloc[:, 0] * 70

# 将 DataFrame 以行为单位保存到 CSV 文件中
result.to_csv('m预测结果.csv', index=False, header=False)

#pd.DataFrame() 的参数 columns 指定了列名,其中 predicted.shape[1] 表示预测结果的列数,即每个样本
#的预测结果个数。to_csv() 方法的参数 header=False 表示不保存列名。这样就可以将预测结果以行为单位保存到 CSV 文件中了。

解释:

  • load_model(filepath):加载保存的模型文件。
  • pd.read_csv('验证m模型.csv', dtype='str'):读取 CSV 文件,并将第1列设置为字符串类型。
  • unknown = np.concatenate(...):将预处理后的数据合并成一个 NumPy 数组。
  • model.predict(unknown, verbose=1):使用模型进行预测。
  • pd.DataFrame(predicted, columns=[...]):将预测结果转换为 DataFrame。
  • result.to_csv('m预测结果.csv', index=False, header=False):将预测结果保存到 CSV 文件中。

注意:

  • 代码中的 filepath验证m模型.csvm预测结果.csv 需要根据实际情况进行修改。
  • 数据预处理方法需要根据具体的数据和模型进行调整。
  • 预测结果的解释需要根据模型的类型和训练数据进行分析。

扩展:

  • 可以根据需要使用不同的模型加载和预测方法。
  • 可以添加更复杂的预处理步骤,例如数据清洗、特征工程等。
  • 可以将预测结果进行可视化分析。
模型加载与预测:使用 Python 加载模型并进行数据预测

原文地址: https://www.cveoy.top/t/topic/qzti 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录