我正在尝试使用Python的statsmodels库学习普通最小二乘模型,如此处所述。
sm.OLS.fit() 返回已学习的模型。是否有一种方法可以将其保存到文件并重新加载? 我的训练数据非常庞大,学习模型需要约半分钟。因此,我想知道OLS模型中是否存在保存/加载功能。
我尝试在模型对象上使用repr()方法,但它没有返回任何有用的信息。
我正在尝试使用Python的statsmodels库学习普通最小二乘模型,如此处所述。
sm.OLS.fit() 返回已学习的模型。是否有一种方法可以将其保存到文件并重新加载? 我的训练数据非常庞大,学习模型需要约半分钟。因此,我想知道OLS模型中是否存在保存/加载功能。
我尝试在模型对象上使用repr()方法,但它没有返回任何有用的信息。
import statsmodels.api as sm
data = sm.datasets.longley.load_pandas()
data.exog['constant'] = 1
results = sm.OLS(data.endog, data.exog).fit()
results.save("longley_results.pickle")
# we should probably add a generic load to the main namespace
from statsmodels.regression.linear_model import OLSResults
new_results = OLSResults.load("longley_results.pickle")
# or more generally
from statsmodels.iolib.smpickle import load_pickle
new_results = load_pickle("longley_results.pickle")
编辑2:我们现在已经在主要的statsmodels API中添加了一个load
方法,因此您只需要执行以下操作:
new_results = sm.load('longley_results.pickle')