You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 12:18:19