pandas - Facebook NeuralProphet - 生成模型文件

标签 pandas facebook-prophet prophet

尝试了解是否可以使用 pickle 将模型存储在文件系统中。

from neuralprophet import NeuralProphet
import pandas as pd
import pickle

df = pd.read_csv('data.csv')
pipe = NeuralProphet()
pipe.fit(df, freq="D")
pickle.dump(pipe, open('model/pipe_model.pkl', 'wb'))

问题:-加载多个 CSV 文件。我有多个 CSV 文件。如何将多个 CSV 文件转储到同一个 pickle 文件中并稍后加载以进行预测?

最佳答案

我认为正确的答案是 sqlite 。 SQLite 的行为类似于数据库,但它作为单个独立文件存储在磁盘上。

对您的用例的好处是,您可以将收到的新数据附加到文件的表中,然后根据需要读取它。执行此操作的代码非常简单:

import pandas as pd
import sqlite3
# Create a SQL connection to our SQLite database
# This will create the file if not already existing
con = sqlite3.connect("my_table.sqlite")

# Replace this with read_csv
df = pd.DataFrame(index = [1, 2, 3], data = [1, 2, 3], columns=['some_data'])

# Simply continue appending onto 'My Table' each time you read a file
df.to_sql(
    name = 'My Table',
    con = con,
    if_exists='append'
)

请注意,在处理大量行后,SQLite 性能会下降,在这种情况下,将数据缓存为 parquet 文件或其他快速压缩格式,然后在训练时将其全部读取可能会很困难。比较合适。

当您需要数据时,只需读取表中的所有内容即可:

pd.read_sql('从[我的表]中选择 *', con=con)

关于pandas - Facebook NeuralProphet - 生成模型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70266468/

相关文章:

python - 如何计算两个 pandas.Timestamp 系列之间的差异(以纳秒为单位)

python - 大于/小于 Pandas DataFrames/Series 之间的比较

python - 优化用于异常检测的 Prophet 区间宽度参数

python - 如何查找特定值的列号以及该位置的 CSV 文件

python - 如何使用 Facebook Prophet 选择初始、期间、范围和截止值?

python-3.x - 对于高频多季节性数据使用哪种预测?

python - Facebook 先知 : Providing different data sets to build a better model

python - Python 中的 prophet 包和 fbprophet 有什么区别?

python - 安装包时 JetBrains DataSpell ModuleNotFoundError 错误

python - SVR 模型 --> 特征缩放 - 预期的二维数组,取而代之的是一维数组