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

如何保存与加载numpy Polynomial拟合结果?

NumPy Polynomial拟合结果的安全保存与加载方案

使用NumPy 1.14+版本的Polynomial便捷类完成拟合后,得到对象:

p = np.polynomial.Polynomial.fit(...)

这类拟合对象的重建需要三个核心参数:p.coef(系数)、p.domain(定义域)和p.window(窗口范围),仅保存系数会导致拟合结果计算错误。

如果分别将三个参数存为独立文件会非常繁琐,而直接用pickle序列化对象(比如保存为0维/1维数组并开启allow_pickle=True)会带来跨版本/平台兼容性问题,还存在安全风险,因此不推荐。

推荐实现方式:打包参数用np.savez保存

将三个必要参数打包进一个集合,通过np.savez保存为单文件,无需依赖pickle,兼容性和安全性更优:

保存代码:

# 打包参数并保存
np.savez("polyfit_params.npz", coef=p.coef, domain=p.domain, window=p.window)

加载并重建对象:

# 加载参数
params = np.load("polyfit_params.npz")
# 重建Polynomial对象
p_loaded = np.polynomial.Polynomial(params["coef"], domain=params["domain"], window=params["window"])

这种方式既避免了pickle的弊端,又能一次性完成参数的保存与加载,操作简洁且可靠。

内容的提问来源于stack exchange,提问作者Marvin van Aalst

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:36:07