WSL环境下如何保存Neural Prophet预测结果与可视化文件
问题解答
1. 查看可视化图表与预测结果的方法
NeuralProphet的绘图功能基于matplotlib实现,你当前的代码没有调用matplotlib的图表渲染接口,且WSL环境默认不会自动弹出绘图窗口,所以看不到结果。
- 先在代码头部导入matplotlib的pyplot模块:
import matplotlib.pyplot as plt - 接住
m.plot()返回的图表对象,在代码末尾加plt.show()即可触发渲染。如果你的WSL开启了WSLg或者配置了X Server转发,就会直接弹出图表窗口;如果没有配置GUI环境,直接用下文的导出方法保存文件后查看即可。 - 预测的数值结果全部存在
forecast这个pandas DataFrame对象里,你可以直接在代码里加print(forecast.head())在控制台打印前几行预览数据。
2. 导出预测图表为图片格式
完全支持。拿到m.plot()(或者拆分趋势/季节性的m.plot_components())返回的图表对象后,直接调用savefig()方法即可导出为常见图片格式,该操作不需要GUI环境,纯命令行即可运行:
# 保存预测总览图 fig_forecast = m.plot(forecast) fig_forecast.savefig('cpu_usage_forecast.png', dpi=300, bbox_inches='tight') # 保存趋势、季节性拆分组件图 fig_comp = m.plot_components(forecast) fig_comp.savefig('cpu_forecast_components.png', dpi=300, bbox_inches='tight')
把文件名后缀改成.jpg即可导出JPEG格式文件,生成的图片存放在你运行脚本的工作目录下,直接在Windows侧访问WSL对应目录就能打开查看。
3. 保存预测数值结果为CSV
forecast是标准的pandas DataFrame结构,直接调用pandas自带的to_csv()方法即可导出,加utf-8-sig编码是为了避免Excel打开时乱码:
forecast.to_csv('cpu_forecast_result.csv', index=False, encoding='utf-8-sig')
导出的CSV文件包含原始时序值、预测值、置信区间上下限、趋势/季节性拆分值等所有字段,可以直接导入Excel做后续处理。
关于是否需要使用R语言
你当前已经完成Python环境配置、跑通了NeuralProphet的核心流程,完全没有必要特意切换到R。R生态确实有原生的Prophet包,但NeuralProphet本身就是Prophet的深度学习升级版本,功能更全,你没有R基础的话,重新安装R环境、学习R语法的成本远高于调整几行Python代码解决问题,现有Python栈完全可以满足你预测CPU使用率、判断服务器是否需要升级的需求。
修改后可直接运行的完整代码
from neuralprophet import NeuralProphet import pandas as pd import matplotlib.pyplot as plt # 读取数据 df = pd.read_csv('cpusample.csv') # 初始化模型、训练 m = NeuralProphet() metrics = m.fit(df, freq="D") # 预测 forecast = m.predict(df) # 控制台打印前10行预测结果预览 print("=== 预测结果预览 ===") print(forecast[['ds', 'y', 'yhat1', 'yhat1_lower', 'yhat1_upper']].head(10)) # 导出预测结果CSV forecast.to_csv('cpu_forecast_result.csv', index=False, encoding='utf-8-sig') # 导出图片 fig_forecast = m.plot(forecast) fig_forecast.savefig('cpu_usage_forecast.png', dpi=300, bbox_inches='tight') fig_comp = m.plot_components(forecast) fig_comp.savefig('cpu_forecast_components.png', dpi=300, bbox_inches='tight') # 配置了GUI的话可以打开弹窗看图 plt.show()
内容的提问来源于stack exchange,提问作者Storm
相关产品推荐
相关产品推荐

