使用 Python 加载模型并进行预测

本指南介绍了如何使用 Python 加载机器学习模型并进行预测。 我们提供了一个代码示例,展示了如何加载模型、准备数据、进行预测并将结果保存到 CSV 文件中。 此外,我们还讨论了如何将预测结果合并到原始数据集中并覆盖现有列。

加载模型并准备数据

print('使用模型进行预测...')
filepath='./sancanshu1.h5'
model = load_model(filepath)
# 读取 CSV 文件
data = pd.read_csv('验证模型.csv')

# 提取第1到9列的数据
features = data.iloc[:, :9].values.astype(np.float32)

# 提取第10列的数据
target = data.iloc[:, 9].values.astype(np.float32)

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

# 对第10列的数据除以最大值
target_normalized = target / 0.469994596

# 将数据转换为 NumPy 数组
unknown = np.concatenate((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] * 2871.158436
result.iloc[:, 1] = result.iloc[:, 1] * 0.469994596
result.iloc[:, 2] = result.iloc[:, 2] * 0.469994596

# 将原本存在的数据删除
data.drop(columns=['parameter1', 'parameter2', 'parameter3'], inplace=True)

# 将预测结果合并到原始数据中
data = pd.concat([data, result], axis=1)

# 将 DataFrame 保存到 CSV 文件中
data.to_csv('验证模型.csv', index=False)

注意:

  • 在运行上述代码之前,请确保已经导入了必要的库(如 pandas、numpy 和 tensorflow)。
  • 根据你的需求,你可能需要调整代码中的列名和归一化因子的值。

更多信息

有关如何加载和使用机器学习模型的更多信息,请参阅 TensorFlow 文档: https://www.tensorflow.org/

代码示例的解释

  • load_model(filepath) 加载已保存的机器学习模型。
  • pd.read_csv('验证模型.csv') 读取 CSV 文件,并将数据存储在一个 Pandas DataFrame 中。
  • features = data.iloc[:, :9].values.astype(np.float32) 提取 DataFrame 中的前 9 列的数据,并将其转换为 NumPy 数组。
  • target = data.iloc[:, 9].values.astype(np.float32) 提取 DataFrame 中的第 10 列数据,并将其转换为 NumPy 数组。
  • features_normalized = features / 2871.158436 对特征数据进行归一化。
  • target_normalized = target / 0.469994596 对目标数据进行归一化。
  • unknown = np.concatenate((features_normalized, target_normalized.reshape(-1, 1)), axis=1) 将归一化的特征数据和目标数据合并到一个 NumPy 数组中。
  • model.predict(unknown, verbose=1) 使用加载的模型对数据进行预测。
  • result = pd.DataFrame(predicted, columns=[f'prediction_{i}' for i in range(predicted.shape[1])]) 将预测结果转换为 Pandas DataFrame。
  • result.iloc[:, 0] = result.iloc[:, 0] * 2871.158436 将预测结果反归一化。
  • data.drop(columns=['parameter1', 'parameter2', 'parameter3'], inplace=True) 删除原始 DataFrame 中的指定列。
  • data = pd.concat([data, result], axis=1) 将预测结果合并到原始数据中。
  • data.to_csv('验证模型.csv', index=False) 将更新后的 DataFrame 保存到 CSV 文件中。
使用 Python 加载模型并进行预测 - 代码示例

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

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