模型加载及使用教程:预测结果保存为 CSV 文件

本教程展示了如何加载和使用机器学习模型进行预测,并将预测结果保存为 CSV 文件。此外,还提供了解决常见错误的方案,例如 AxisError 的解决方法。

代码示例

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

读取 CSV 文件

data = pd.read_csv('验证m模型.csv')

提取第1列的数据并转换为浮点型

h0 = data.iloc[:, 0].values

提取第2列的数据并转换为浮点型

taus = data.iloc[:, 1].values

提取第3列的数据并转换为浮点型

tau0 = data.iloc[:, 2].values

提取第4到11列的数据并转换为浮点型

features = data.iloc[:, 3:11].values.astype(np.float32)

提取第12列的数据并转换为浮点型

target = data.iloc[:, 11].values.astype(np.float32)

对第1列的数据除以最大值,后面除以的值是用于训练模型时候归一化除以的值

h0_normalized = h0 / 500

对第2列的数据除以最大值,后面除以的值是用于训练模型时候归一化除以的值

taus_normalized = taus / 1000

对第3列的数据除以最大值,后面除以的值是用于训练模型时候归一化除以的值

tau0_normalized = tau0 / 1000

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

features_normalized = features / 2871.158436

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

target_normalized = target / 0.469994596

将数据转换为 NumPy 数组

unknown = np.concatenate((h0_normalized.reshape(-1, 1), 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)

错误解决

代码中常见的错误是 AxisError。该错误通常发生在使用 np.concatenate 函数时,指定 axis 参数超出了数组的维度。在本例中,unknown 是一个二维数组,而 axis=1 表示按列连接,但实际应该按行连接,所以需要将 axis 改为 0

解决方案

unknown = np.concatenate((h0_normalized.reshape(-1, 1), taus_normalized.reshape(-1, 1), tau0_normalized.reshape(-1, 1), features_normalized, target_normalized.reshape(-1, 1)), axis=0)

修改后的代码解决了错误并成功完成了预测结果的保存。

总结

本教程详细介绍了如何加载和使用机器学习模型进行预测,并提供了解决常见错误的方案。您可以参考本教程学习如何使用 Python 代码进行模型预测,并根据实际需要修改代码以适应不同的应用场景。


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

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