模型加载及使用教程:预测结果保存为 CSV 文件
模型加载及使用教程:预测结果保存为 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 著作权归作者所有。请勿转载和采集!